- 締切済み
エクセルにおける置換について教えてください
アクセスがあれば簡単にできると思うんでですが、置換について教えてください。 表に入力された文字が、別表の文字と一致した場合において別表の別の文字に置換を行いたいのです。 例えば、Aと入力した場合、別表にAがあればAとなければ置換しない場合です。同様に、B・C・・・あります。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
関数はA1の値を使って何か行い、結果をA1セルに戻せません。 この大原則を認識してますか。 ーーーー VBAならA1の値を使って、何かを行い結果をA1セルに戻せます。 置換前の文字列をFindして、置換後の文字列を代入すればよい。 また対応表を作っておけば、VLOOKUP関数などつかえる。 置換したいセル範囲を範囲指定して、下記を実行する。 Sub test01() Dim cl As Range For Each cl In Selection x = Application.VLookup(cl, Range("h1:I10"), 2, False) If IsError(x) = True Then Else cl = x End If Next End Sub 置換対照表 H1:H3に xx あああ bb ううう cc hjkkk と入れておく 置換前データ A1:C7 (下記データはOKWAVEでは左片隅に表示されますが、適当に散らばらしてください) aa bb cc xx 実行後(置換後) aa ううう hjkkk あああ
[No.1回答に対する補足]に対するコメント、 最初の質問では「表」「別表」だけでしたが、今度は「別表」「表1」「表2」「表3」なるやら、表1には AB、CD、EF の半角文字列なのに「表2にA」とか「表3等にB」とかの別の全角1文字が登場するやらで、私の頭の混乱が倍増しています。 済みませんが、私は退散いたします。
置換ではありませんが、文字列操作の関数組み合わせでできないこともないと思います。(内容によっては置換も可能かも)ですが、質問の内容がイマイチ理解できません。 >表に入力された文字が、 ←たとえばどんな? >例えば、Aと入力 ←どこ(手入力/セル参照/他)に入力? 実際のないようそのものとは言いませんが、もう少し具体的な表現にしたら皆さんからのお知恵がもらえると思いますよ♪
》 別表の文字と一致した場合において別表の別の文字 》 に置換… 》 別表にAがあればAとなければ置換しない… 何か支離滅裂? 何れにしても置換すべき「別表の別の文字」は「別表」の何処にあるかを教えてください。
補足
すいません。 別表のセルに文字があります。 表1 AB CD EF とあった場合に、表2にAと入力すると表3等にBとセルに出力する方法です。 関数のsubstituteでやってみたんですが、やり方が悪いのかうまくいきませんでした。 お願いします。
補足
詳しくありがとうございます。 >関数はA1の値を使って何か行い、結果をA1セルに戻せません。 結果は別表のセルにはきだしたいです。 VBAを使わないと難しいですかね。 VBAよく解らないのが現状です。