• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストにある事前に入力した文字を変換したい)

リストの文字を変換する方法

このQ&Aのポイント
  • Sheet2のA列とB列に入力した文字を変換する方法を教えてください。
  • Sheet1の特定のセルに入力した数字によって、Sheet2のA列の文字を表示させる方法を教えてください。
  • Sheet2のA列とB列の編集を前提として、特定の入力に対して文字を変換するためのコードを教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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

kokorororo
質問者

お礼

ありがとうございますm(__)m 非常に完璧でした。こんな私のために本当に 感謝いたします;

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>それぞれ個別に出るようにしたいです。 たとえば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)),"") などのようにできます。 ご相談投稿ではご利用のエクセルのバージョンまで、しっかり明記する事を憶えて下さい。

kokorororo
質問者

お礼

ご回答ありがとうございますm(__)m 失礼しました;エクセルのバージョンは2007です。 出したいセルは同じセルです。上の例で言えば、例えばC9に1と入力したらうさぎと変換され、 2と入力したらかめと変換されるイメージです。他のセルではありません。そのため、C9に 他の言葉を入れることが前提です。全く関係ない言葉を入れることもあります。ただ、よく使う言葉 リストがSheet2にあるイメージで、うさぎは頻繁に使うので、1と入力したらうさぎと変換されたい のです。

関連するQ&A