人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの検索・置換について教えてください。「N12,N06,18,24,N54」という文字列を「12N,06N,18,24,54N」に置換したいと思っています。ワイルドカードでN**を検索するところまではできるのですが、その後どうすればNを数字の後に移動できるでしょう?
文字列はひとつのセルに入っています。

●質問者: bar_emanon
●カテゴリ:コンピュータ
✍キーワード:24 ひとつ エクセル セル ワイルドカード
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● andi
●40ポイント

http://a/

N**→**Nへの複数同時置換は多分普通の「検索/置換」では出来ないと思います。

という訳でマクロ(ExcelVBA)を組んで見ました。


Sub ReplaceN()

Dim ObjRegExp As Object

Dim StrBefore, StrAfter, StrBuffer As String

Dim ObjRange As Range


Set ObjRegExp = CreateObject(”VBScript.RegExp”)


StrBefore = ”N(¥d+)”

StrAfter = ”$1N”


With ObjRegExp

.Pattern = StrBefore

.IgnoreCase = True

.Global = True

For Each ObjRange In ActiveSheet.UsedRange

StrBuffer = ObjRange.Value

If .Test(StrBuffer) Then

ObjRange.Value = .Replace(StrBuffer, StrAfter)

End If

Next

End With


Set ObjRegExp = Nothing

End Sub


上記のソースを[ツール]-[マクロ]-[Visual Basic Editor]からThisWorkbookに貼り付けて、その後EXCELの[ツール]-[マクロ]-[マクロ]から[ReplaceN]を選んで実行して下さい。


2 ● nontan2005
●20ポイント

http://www.vector.co.jp/vpack/filearea/win/util/text/conv/code/i...

Download: Windows > ユーティリティ > テキストファイル用 > テキスト変換 > 文字コード変換

調べた限りエクセルが持っている置換ツールですと正規表現が扱えないようなので、一度テキスト形式(CSV)でSAVEしてから、

MS?WORDやスクリーンエディタ、上記にあるツールで置換するという方法はどうでしょうか?

MS WORDでの正規表現の使い方は以下を参考にされると良いと思います。

http://www.shuiren.org/chuden/teach/word/search/replace02.htm#ta...

文字列の置換 その2 置換オプション ―MS Wordを使いこなす―


3 ● mzmzmi
●5ポイント

http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu9_3.ht...

標記のページの一番下にある説明を読まれるか下記の記述に従って作業してください。


簡単です。

Ctrl+Fで検索ダイアログボックスを表示させて、置換(R)ボタンを押してください。

上の欄にN12,N06,18,24,N54、

下の欄に12N,06N,18,24,54N

と入力して、

すべて置換(A)ボタンを押せばOKです。


4 ● tyousann
●5ポイント

http://download.seesaa.jp/contents/win/app/a_other/13803/

フリーソフト - Seesaa ダウンロード : Excel検索置換

こんなのもありますが、

この場合は単純に

検索する文字列に N12,N06,18,24,N54

置換後の文字列に 12N,06N,18,24,54N

といれて置換しちゃえばOKなんじゃないでしょうか。

最初の文字列が一つの文字としてセルに入っているんですよね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ