📊つかえる関数.com

別シートをVLOOKUPで動的に参照する方法は?

結論

INDIRECTでシート名を動的に指定することで、複数シートからVLOOKUPで検索できます。

数式・計算上級·

詳しい解説

INDIRECT関数を使うことで、シート名をセル参照にしてVLOOKUPで動的に検索できます。パターンは`=VLOOKUP(A2, INDIRECT(B2&"!A:D"), 3, FALSE)`で、B2セルに「東京」「大阪」等のシート名を入力すると、対応するシートから自動検索します。全バージョンで使用可能ですが、INDIRECT関数は揮発性関数のため多用するとパフォーマンスに影響します。支店別シート、月別シートなど複数シートから同じ構造のデータを検索する場合に便利です。

執筆・検証:田中 けんた|Excel歴15年・MOS資格保持

バージョン対応

バージョン対応状況
Excel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
対応対応対応対応対応

実務での使用例

支店別シートから売上を検索

B2セルに「東京」と入力すると東京シートから、「大阪」と入力すると大阪シートから自動検索

=VLOOKUP(A2, INDIRECT(B2&"!A:D"), 3, FALSE)

月別シートから実績を参照

1月~12月の各シートから、選択した月のデータを自動で取得

=VLOOKUP(A2, INDIRECT(C2&"月!A:E"), 4, FALSE)