• ベストアンサー

Excel-アンケートで得られた国名を指定した番号に変換したい。

教えてください。 アンケートで得られた回答が3000件ほどあります。1行に1件ですので、3000行あります。 行方向が回答者数、列方向が質問事項というデータレイアウトです。 質問の中に国名を記述する列があり、それぞれ 「日本」「韓国」「アメリカ」「イギリス」などと各セルに入力されています。 今回、この国名を指定された番号に置き換えたいのです。国名の種類は100あり、それぞれに「日本=1」「韓国=2」「アメリカ=20」「イギリス=49」のように番号指定があるので、 最終的に国名を数字に置き換えたいのですが・・・。 置換でやってみようと思ったのですが、 なんせこの国名数が100ほどあるため、ひとつづつ置換をおこなうと かなりの時間と労力がかかってしまうので躊躇しています。 (VLOOKUPもやってみましが、使い方がまずいのか良い回答が得られませんでした・・・) 最終的には置換でどうにかできますが、もし簡単に関数なのでできる方法を教えていただけたらと思って質問させていただきました。 ちなみに、別表で下記のような表はあります。 A列 B列 1 日本 2 韓国 3 インド 4 中国 ・  ・ ・   ・ 100 アルゼンチン  説明がつたなくてすみませんが、よろしくお願いします。

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

  • ベストアンサー
  • Us-Timoo
  • ベストアンサー率25% (914/3620)
回答No.2

VLOOKUPで出来そうですけどね? 問題があるとしたら、国名でコードを検索させることになりますが この国名の特にカタカナ部分が半角・全角のどちらかで統一しておき データベース側もアンケートデータにあわせた方の半角・全角のどちらかで 統一しておかなければ、いけないと思います。 因みにVLOOKUPでデータベースを使うなら、国名で検索することになるので A列  B列 日本  1 韓国  2 インド 3 中国  4 ・   ・ ・    ・ アルゼンチン 100  いちばん左側を国名にしておかないと検索にかからないと思います。 数式にするとこんな感じでしょうか↓ =VLOOKUP(アンケートの国名のセル番号,国名のデータベース範囲,2,FALSE)

suneo01
質問者

お礼

で・できました・・・・。 やはりわたしの使い方がまずかったです。 検索の型の意味合いが理解できていませんでした。 どうもありがとうございました。大変助かりました。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

次の方法は如何でしょうか。 (1)アンケート表の国名列を仮にsheet1のA列、空き列をD列、別表をsheet2とします。 (2)sheet1のD列を選択→数式バー欄=IF(COUNTIF(Sheet2!B:B,A1),INDEX(Sheet2!A:A,MATCH(A1,Sheet2!B:B,0)),"")を入力完了時にctrl、enterキーを押下 (3)sheet1のD列をコピー→A列を選択→形式を選択して貼り付け→値にチェック→OK (4)D列を削除 因みにアンケート表の国名と別表の国名は同一書式でないと抽出できませんので書式(全角、半角)やスペース有無をご注意下さい

suneo01
質問者

お礼

INDEX関数とMATCH関数をもっと練習してみます。 あと、みなさんも書かれていますが、スペースや半角全角はキーポイントですね・・。今後もかならずまずは注意するようにします。 どうもありがとうございました!

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

国名のある列がC列として D2=IF(C2="","",INDEX(A:A,MATCH(SUBSTITUTE(JIS(C2)," ",""),B:B,0),1)) 解説: JIS()で国名を全角に統一 SUBSTITUTE()で全角スペースを消去 MATCH()で別表のB列で同じ国名の行を検索 INDEX()で別表のA列の国名の行の値を抽出 IF()でアンケートが空欄の場合の対応

suneo01
質問者

お礼

MATCHとINDEX関数は聞いたことはあるものの、やったことがなく勉強になりました。 わたしにとってはまだ教えていただいたやり方はレベルが高く、もうひと勉強必要なようです・・・ 教えていただきありがとうございました!

関連するQ&A

専門家に質問してみよう