• ベストアンサー

VLOOKUP関数の範囲名

VLOOKUP(検索値,範囲,列番号) の範囲のところに 参照範囲を定義した「名前」を入力する場合がありますが、 VLOOKUP(A1,B1:E4,2)→VLOOKUP(A1,LIST,2) この時、例えば A3に「LIST」と入力して VLOOKUP(A1,A3,2)としてもエラーとなってしまいます。 何か良い方法はありませんか?

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

  • ベストアンサー
回答No.1

> A3に「LIST」と入力して > VLOOKUP(A1,A3,2)としてもエラーとなってしまいます。 =vlookup(A1, indirect(A3), 2) と書いて下さい。

KAZEnoZACHOH
質問者

お礼

素敵です。 言葉の足りない説明だったにも関わらず、 満点な回答でした。 どうもありがとうございます。 それにしても、okwebの回答はこんなに早いんですね。

その他の回答 (3)

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

A3にLISTと入れるのはおかしいです。 LISTは(手)操作で範囲を定義しないといけません 。メニュの挿入-名前-定義でやるものです。 関数式で、LISTに(例えば)A1:C8を定義することは出来ないと思います。 やや質問者のアイデアを伺わせるものにINDIRECT 関数がありますが、セルを指定してその指定したセル値を使うものですが、セルを指定してセルに入っている文字列を通して、その文字列が意味する中身を使うのは出来ません。 VBAでも出来るケースと出来ないケースがあって、できたら良いなと思うケースがあります。 Sub test02() Worksheets("sheet2").Select a = "A1" MsgBox Range(a) End Sub は可能な例。 Sub test02() Worksheets("sheet2").Select ActiveWorkbook.Names.Add Name:="hani", RefersToR1C1:="=Sheet2!R1C1:R5C3" Application.Goto Reference:="hani" With Selection .Interior.ColorIndex = 8 End With End Sub 範囲を定義してそれを使う例。

KAZEnoZACHOH
質問者

お礼

返信ありがとうございます。 質問の言葉が足りなくて申し訳ありません。 下記♯1の回答でOKでした。

  • wnm
  • ベストアンサー率48% (23/47)
回答No.3

ANo.#2の回答を撤回します。 勉強不足でした。ごめんなさい。

  • wnm
  • ベストアンサー率48% (23/47)
回答No.2

名前とは、セルの塊(範囲)につける別名の事です。 また、名前は参照する事が出来なかったはずです。 そのためのエラーと考えられます。

KAZEnoZACHOH
質問者

お礼

返信ありがとうございます。 下記♯1の回答でOKでした。

関連するQ&A