• ベストアンサー

エクセルにて複数の文字を検索後に特定変換

例ですがエクセルのセルA1~A10にそれぞれ1~8の数字が入っている場合1は赤、2は青などに変換したいのですが可能でしょうか?   A 1 3 2 1 3 5 4 8 5 1 6 2 7 4 8 6 9 7 10 1 上記の場合   A 1 黄 2 赤 3 緑 4 紫 5 赤 6 青 7 黒 8 白 9 金 10 赤 と言う風に変換したいのですがどのようにしたらよろしいでしょうか?

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

  • ベストアンサー
  • chem_taro
  • ベストアンサー率32% (33/101)
回答No.2

こんなんどうでしょ? Sub change_word() cword = Array("赤", "青", "黄", "黒", "緑", "白", "金", "紫") oColumn = Selection.Column oRow = Selection.Row owidth = Selection.Columns.Count ohight = Selection.Rows.Count For i = 0 To owidth - 1 For j = 0 To ohight - 1 If IsNumeric(Cells(j + oRow, i + oColumn)) And Cells(j + oRow, i + oColumn) <> "" Then Cells(j + oRow, i + oColumn) = cword(Cells(j + oRow, i + oColumn) - 1) End If Next j Next i End Sub ツール(T)→マクロ(M)→Visual Basic Editor(V) でMicrosoft Visual Basicを開きます。 そして、プロジェクトというウインドウにSheetが縦に並んでいると思いますので、どれでもいいのでダブルクリックしてください。 すると、そのSheetのコードを記述するウインドウがでますので、上のコードをコピー&ペーストしてください。 終わったらMicrosoft Visual Basicを閉じて、Excelのウインドウに戻ります。 あとは、置換をしたいセルを範囲選択してから ツール(T)→マクロ(M)→マクロ(M) で、Sheet○_change_wordをダブルクリックすれば置き換えが実行されます。 なお、コード中の cword = Array("赤", "青", "黄", "黒", "緑", "白", "金", "紫") 部分を改造すれば、数字と置換される文字列を変更できます。

we-06bi
質問者

お礼

試してみたらできました。ありがとうございます。マクロの勉強にもなります。本当にありがとうございますm(__)m

その他の回答 (2)

noname#204879
noname#204879
回答No.3

1.セル B1 に次式を入力して、此れを下方にズズーッと複写   =CHOOSE(A1,"赤","青","黄","黒","緑","白","金","紫") 2.B列全体を選択して、[コピー]→[値の貼り付け]を実行 3.A列を削除

we-06bi
質問者

お礼

試してみたらできました。マクロ以外にもこんなやり方があったのですね。勉強不足でした。ありがとうございます。大変助かりましたm(__)m

回答No.1

エクセルの機能として複数条件を一発で置換することは 不可能です。 マクロを組めば一発です。

we-06bi
質問者

補足

さっそくの回答ありがとうございます。マクロですか…。まだ勉強不足で組むことができません。ですがこういうのはマクロなんですね。ありがとうございます。それだけわかっただけでも収穫です。マクロ勉強してみます。ありがとうございますm(__)m

関連するQ&A

専門家に質問してみよう