• ベストアンサー

エクセルの複数同時置換

エクセルで文字列を同時に複数置換することって出来ますか? たとえば、ABCという文字列があった場合、 A→1 C→2 の置換を同時にやりたいんです。 ABC→1B2 に一度に置換する方法はありますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

マクロでしか出来ないと思います。 一応、標準モジュールに貼り付けることを想定していますが、どこでも構いません。フォームボタンなどに登録すると、簡単に使えるようになると思います。 Sub MultiReplacement()  Dim MyWords As Variant  Dim MyRepWords As Variant  Dim Ans As Integer  Dim Rng As Range  MyWords = Array("A", "C") 'ここに検索語を入れてください。  MyRepWords = Array(1, 2) 'ここに置換語を入れてください。  '検索語と置換語を調べる  If UBound(MyWords) <> UBound(MyRepWords) Then   MsgBox "検索語数( " & UBound(MyWords) & _   " )と置換語数( " & UBound(MyRepWords) & " )数が違います。", 64   Exit Sub  End If    Set Rng = Selection 'マウスで範囲を選択してください。  If Rng.Count = 1 Then   Ans = MsgBox("セル1つしか選択されていませんが、よろしいですか?", vbYesNo)   If Ans = vbNo Then    Exit Sub   End If  End If  '実行  For i = LBound(MyWords) To UBound(MyWords)   Cells.Replace What:=MyWords(i), Replacement:=MyRepWords(i), _   LookAt:=xlPart, _   MatchCase:=True  Next i End Sub

sattakah_goo
質問者

お礼

回答ありがとうございます。 早速使わせてもらってます。役に立ちました! 感謝です。

その他の回答 (2)

回答No.3

こんなのはどうでしょう? =SUBSTITUTE(SUBSTITUTE(対象セル,"A",1),"C","2") SUBSTITUTEを入れ子にします。置換する文字が多いと、式が複雑になるので、大変ですが。 この場合はSUBSTITUTEの第4引数を省略しているので文字列に含まれるすべての"A"、"C"が対象です。

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.1

実際におやりになりたい事は分かりませんが、 何らかの法則性があれば正規表現を使って 置換する方法は可能です。 下記フリーソフトもかなり便利なので 一度みてみてください。

参考URL:
http://www.vector.co.jp/soft/win95/business/se190884.html?site=n

関連するQ&A

  • エクセル 複数の置換

    おはようございます。たとえば、以下の画像のようにアルファベットが並んでいたとします。そのうち、AとBとCの3つをFに置換したいとすればどのようにすればいいのでしょうか。検索と選択→置換→検索する文字列→A→置換後の文字列→F これを同じようにBもCもすればできますが、大量の検索する文字がある場合、一つ一つ打っていくのがたいへんなのですが何かいい方法はありますか。ご回答よろしくお願いします。

  • マクロ(複数文字置換)についての質問です。

    現在、ExcelのA列に置換前の文字、B列に置換後の文字が入っているシート(シート名:"辞書")があります。 そのシートを辞書的役割で使用し別のシートの内容を置換したいと考えています(現在候補が1000文字程度あり、1つずつ置換をすることが難しいです) また、完全一致のみの置換、大文字とから小文字の置換も可能にし、件数も何件存在するかわかりません。 例:ABCをabcに変換したい場合、 ○ABC→abc ×ABCDEF→abcDEF のような感じです。 しかし、1つのセルの中に空白がある場合は置換可能とします。 例:ABC DEF→abc DEF このようなことは可能でしょうか? 何卒よろしくお願いいたします。

  • 複数の文字列を同時に置換できるソフト

    こんにちは。 複数の文字列を一括で置換できるソフトで、 以下の条件に合ったソフトを探しております。 (1)HTMLファイルが読み込める。 (2)複数の文字列を同時に一括置換できる(複数行を対象に)。 (↑あらかじめ置換したいリストを作成・登録する形に なるのかもしれません。) (3)さらに複数のファイルで同時に置換できる。 上記の(1)、(2)は必須になります。 可能であれば、(3)ができれば大変助かります。 ・・以上のようなフリーソフトはありますでしょうか? ご回答よろしくお願い致します。

  • エクセル2003での置換について教えてください。

    エクセル2003での置換について教えてください。 こんにちは いつもお世話になっています エクセル2003での置換について教えてください。 特定の文字列以降の文字列を(特定文字列自身も含めて)削除したいのです。  特定の文字列は二つあります。【@】と【変化】です(【】も含みます)。  この二つの文字列はバラバラに出てきます。一方だけがでてくるセル、両方出てくるセル、両方出てこないセル、があるという意味です。  「*」を各特定文字の後ろに付けて、置換機能で削除していますが、二つの文字列に対して別々にやっています。 これを一度で置換して削除する方法を教えてください。  よろしくお願いします。

  • エクセルの置換について

    セルに次のような数式が入っているときに数式の部分だけ置換する方法がありましたらご指導お願いします。 [B1] =SUM(A1+A2) →置換後 =A1+A2 [B2] =SUM(A10+A20) →置換後 =A10+A20 [B3] =SUM(A100+A200) →置換後 =A100+A200 置換する方法は「編集」-「置換」で 検索する文字列と置換後の文字列が分かりません。 SUM(で置換をかけると数式エラーで置換が出来ず SUM(*)で置換をかけると当然ですが全て消えます。 お手数ですが宜しくお願致します。

  • Excelの置換

    すみません、Excelを教えてください。 ↓A1から文字列の項目が縦に並んでいます。先頭の数字(1: )を削除。文末の括弧付き数値をB列に移動したいと思っています。 1: ○○○○○○○○○(981) 2: △△(25) 3: □□□□□□(111) ↓ 2500: ★★★★(1000) 2501: ☆☆☆☆☆☆☆☆☆☆☆☆(299) 置換削除のやり方を教えてください。 ワードで置換削除をやってみましたが、次の行の内容まで削除されてしまい困っています。 文字列の部分的なセル移動はできるでしょうか? 部分的な移動ができない場合、括弧付きの数値で並べ替え等をする方法は無いでしょうか?

  • エクセルでコンマとピリオドを同時に置換するには?

    エクセルでコンマとピリオドを同時に置換するには? エクセルの”文字列”で表示されている数字(ドイツ書式)を、日本式(?)に変換できないか検討しています。 具体的には、コンマをピリオドに置換し、ピリオドをコンマに”同時”に置換したいのですが、 (”13,500” → “13.500”、“1.009,174” →“1,009.174”)、何かいい方法はありますでしょうか? http://okwave.jp/qa/q3792705.html を参考にさせていただきましたが、私の要求とはやや異なるようです。 よろしくお願いします。

  • Excelの置換

    Excelで指定した列の文字列置換を行いたいのですが、 マクロを作成しないで、できる方法をご存知でしたら 教えてください。 具体的には列Aに あ い う あ と値が入っている場合に、あだけを空白にしたいのです。 よろしくお願い致します。

  • Excel置換関数を用いて複数の文字列を置換したい

    上手く置換ができずに困っています。よろしくお願いします。 文字を入力した列の隣に、数値化する列を作成しようと思っています。 置換項目を6つ設定しようと思っているのですが、 A=4 B=3 C=2 D=1 E=0 F=0 の条件です。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"A","4"),"B","3"),"C","2"),"D","1"),"E","0"),"F","0") これではできませんでした...。 どなたか、わかる方がいらっしゃいましたら、ご教授願います。

  • エクセルで複数のデータからソートをかけて、合計金額を算出したいのですが

    エクセルで複数のデータからソートをかけて、合計金額を算出したいのですが、ソートではうまくいきません。 A列(文字)  B列(数値)  C列(金額) ABC 123 100 ABC 456 50 DEF 123 1,000 GHI 789 300 このような感じで、B列には同じ数値のものが複数あるデータです。 どなたかエクセルマスターの方、お教えいただけますか?

専門家に質問してみよう