• ベストアンサー

エクセルで数字を入力したら文字に変換される方法

いつもお世話になります。 エクセルで500名のアンケート入力をしています。 A列に氏名、B,C,Dから順に第一から第三希望を入力する必要があり、選択肢は 7つ(りんご、トマト、イチゴ、なす、ピーマン、みかん、にんじん)とあって、重複しない3つを選んでいます。 今までは仮に1,2,3と数字を入力してから置換で置き換えていました。 (誰が何を選んだかを確認したいので、数字のままでは困る) 置換えではなく、1を押したら「りんご」2は「トマト」と入力される方法はないでしょうか? ちなみに、キーボードだけで操作したいのでリストは使いたくなく、ユーザー定義もイマイチでした。。

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

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

>1を押したら「りんご」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("B:D"))  select case h.value  case 1   h = "りんご"  case 2   h = "ばなな"  case 3   h = "みかん"  case 4   h = "ちょこ"  case 5   h = "すいか"  case 6   h = "とまと"  case 7   h = "こたつねこ"  end select  next end sub ファイルメニューから終了してエクセルに戻る BからD列に1から7や、他の言葉を記入したり削除したりいろいろ触ってみる。

hanauta00
質問者

お礼

ありがとうございます、完璧なお答えでした。

その他の回答 (3)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

No.2、No.3です。 No.3に画像添付忘れました。

hanauta00
質問者

お礼

たくさんお答えくださって、本当にありがとうございます。 今回はできるだけ別のセルを作りたくなかったのでNo1の方の方法でやることにしましたが、CHOOSEも非常に使えそうな関数だと思いました。 ありがとうございました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

No.2です 質問をよく読んでいませんでした。 画像で E2に  =IF(B2="","",CHOOSE(B2,"りんご","トマト","イチゴ","なす","ピーマン","みかん","にんじん")) 右方、下方にオートフィル

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

choose関数ではだめですか A1に 数字 B1に =CHOOSE(A1,"りんご","トマト","イチゴ","なす","ピーマン","みかん","にんじん") CHOOSE関数-数字によって答を変える http://kokoro.kir.jp/excel/choose.html

関連するQ&A