- ベストアンサー
リストの文字を変換する方法
- Sheet2のA列とB列に入力した文字を変換する方法を教えてください。
- Sheet1の特定のセルに入力した数字によって、Sheet2のA列の文字を表示させる方法を教えてください。
- Sheet2のA列とB列の編集を前提として、特定の入力に対して文字を変換するためのコードを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
通常のエクセルの使い方では、あるセルに元データを記入したら別のセルにその結果を関数で表示します。 そうではないイレギュラーなやり方をしたいなら、その旨「最初から」明記してください。 マクロを使うにしても、基本的な段取りは回答済みの数式がそのまま流用できる、ただの応用に過ぎません。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub Worksheet_Change(byval Target as excel.range) dim h as range on error resume next for each h in application.intersect(target, range("C9,C11,C13,C15")) application.enableevents = false h.value = worksheets("Sheet2").cells(application.match(h, worksheets("Sheet2").range("B:B"), 0), "A").value application.enableevents = true next end sub
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
>それぞれ個別に出るようにしたいです。 たとえばC9に対して「出したい」どこにあるのか不明の?セルに =IF(COUNTIF(Sheet2!B:B,C9),INDEX(Sheet2!A:A,MATCH(C9,Sheet2!B:B,0)),"") と記入しておきます。 シート2のA列B列を逆に並べておけば、より簡単なVLOOKUP関数を利用できます。 #参考 ご利用のエクセルのバージョンがご相談に書かれていませんが、Excel2007以降を利用しているなら =IFERROR(INDEX(Sheet2!A:A,MATCH(C9,Sheet2!B:B,0)),"") などのようにできます。 ご相談投稿ではご利用のエクセルのバージョンまで、しっかり明記する事を憶えて下さい。
お礼
ご回答ありがとうございますm(__)m 失礼しました;エクセルのバージョンは2007です。 出したいセルは同じセルです。上の例で言えば、例えばC9に1と入力したらうさぎと変換され、 2と入力したらかめと変換されるイメージです。他のセルではありません。そのため、C9に 他の言葉を入れることが前提です。全く関係ない言葉を入れることもあります。ただ、よく使う言葉 リストがSheet2にあるイメージで、うさぎは頻繁に使うので、1と入力したらうさぎと変換されたい のです。
お礼
ありがとうございますm(__)m 非常に完璧でした。こんな私のために本当に 感謝いたします;