• ベストアンサー

Excel入力規則とVLOOKUPの組み合わせ

以下のようなことができますでしょうか。 ・A1セルにはリスト(別途リストを作成しておいて)から選択させる。 ・B1セルはA1を見てVLOOKUPで対応する値を返す 例えば Aさん 東京都 Bさん 静岡県 Cさん 北海道 というリストを作って、 A1セルで Cさんをリストで選んだと同時にB1セルに北海道と表示させる というイメージです。 何かいい方法がありましたら教えてください。宜しくお願い致します。

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

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

Sheet2で _A____B____ 1 氏名   都道府県 2 Aさん  東京都 3 Bさん  静岡県 4 Cさん  北海道 の表を作り、 A列の範囲を「挿入」「名前」「定義」で「氏名」と名付ける。 A:B列の範囲を「挿入」「名前」「定義」で「データ」と名付ける。 Sheet1でリストから選択するA1に「データ」「入力規則」で 入力値の種類を「リスト」、元の値を「=氏名」とする。 B1=IF(A1="","",VLOOKUP(A1,データ,2,FALSE)) と入力。こうすれば別のシートの値でも参照できます。

JAMIE3104
質問者

お礼

非常に分かりやすい御説明ありがとうございました。 本当に助かります!!

その他の回答 (3)

  • goomania
  • ベストアンサー率56% (84/149)
回答No.3

ご質問の本質から外れるかもしれませんが、 ご質問者が望んでおられる >A1セルで Cさんをリストで選んだと同時にB1セルに北海道と表示させる の目的は何ですか? 実は職場で以前、 「A1セルで 支店コードを選んだと同時にB1セルに支店名を表示させる」 逆に「B1セルで 支店名を選んだと同時にA1セルに支店コードを表示させる」 という機能を組み込んだ表を作りたいと考え完成させたのですが、 EXCELをあまり知らない人から 「支店コードと支店名を同時に表示させて選択させることは考えなかったの?」 と言われたことがありました。 多少ながらEXCELの関数やプログラムの知識を使って 自分としては工夫をこらしたしたつもりだったのですが、 確かにユーザーが選択する手間は1度だけですし、 視覚的にも両方が見えていることは、片方しか見えないことに情報量として 劣ることはありません。「目からウロコ」という経験を持つ者です。 つまり「B1セルに北海道と表示させる」という目的が「B1セルに単独で『北海道』 と入力されていることに必要性・意義がなければ 入力規則のリストに「Aさん 東京都」「Bさん 静岡県」「Cさん 北海道」 というお名前と地名の両方を表示するリストを作っておき、 お名前と地名の両方を同時に表示させた中から 選択するという方法で足りてしまうということです。 ご質問の回答にはなっておりませんが こんなケースもあるという事例をご紹介しました。

JAMIE3104
質問者

お礼

今回考えているのは、 ある商品のカスタムメイドで、 ひとつの部品のカスタムメイドで種類が10種類ずつ位有り、 金額も異なるというものでした。 goomaniaさんのおっしゃる通り、 いろんなフィルターがあると見えるはずのものが 見えなくなったりすることもありますよね。 私も仕事上で目からうろこって言う経験他多々あります。 私はExcelの知識はさほど豊富ではないので、 またいろんなこと教えてください。 宜しくお願いします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Sheet2のA1:B4に a 水戸 b 大阪 c 京都 d 岡山 Sheet2のA1:B4を範囲1と名前を定義する。 Sheet1に行って、B1に =VLOOKUP(A1,範囲1,2,FALSE) と入れる。この場合は別シートの範囲を指定できる。 Sheet1のA1:A10(例えば)にデータ-入力規則-リストで他シートの範囲(1列)を指定できない。 やむを得ずSheet1のどこかにSheet2のA1:B4をリンク貼り付けする。 仮にSheet1のE1:F4に貼り付ける。(Sheet2のA1:A4->Sheet1のE1:E4だけでもよい。) そこでリストの範囲をE1:E4に指定する。 a 大阪 c 京都 b 大阪 d 岡山 c 京都 のようにできました。 早く別シート範囲指定ができるようにしてほしいですね。

回答No.1

普通に 1.Sheet1にリストを作成します(ex. C1~D3)。 2.リストに重ならないようにSheet1のA1に入力規則(リスト C1~C3)を設定します。 3.Sheet1のB1に以下のようにVLookupマクロを設定します。 =vlookup(A1,C1:D3,2,false) 入力規則の制限で別シートをリストの元とすることはできませんので1シート内での処理になりますが、それでよければこれでできると・・・

関連するQ&A