shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】VLOOKUP関数で複数シートのセル範囲から値を抽出する方法

ExcelのVLOOKUP関数やXLOOKUP関数で、単一の表(セル範囲)ではなく、複数シートのセル範囲から値を抽出したい場合はVSTACK関数が便利です。

VSTACK関数は複数のシートにある表を一つの表に結合できる関数です。

内容:

なお、VSTACK関数は、Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the webで利用可能です。

詳細:VSTACK 関数 - Microsoft サポート

アウトプットイメージ

次のように、ExcelのVLOOKUP関数で、「範囲」にVSTACK関数を使用して複数シートに分かれているセル範囲をまとめ、値を抽出します。

XLOOKUP関数も同様の考え方で可能です。

VLOOKUPとVSTACKを組み合わせた数式イメージ

VLOOKUP関数で複数シートのセル範囲から値を抽出

VSTACK関数の基本事例

VSTACK関数で複数のシートにある表を一つの表に結合する方法の基本は次のとおりです。

shikumika.org

数式の補足説明

VLOOKUP 関数の構文は次のとおりです。

=VLOOKUP(検索値, 範囲, 列番号, [検索の型])

この範囲をVSTACK関数で統合した表にすることで、複数シートのセル範囲から値を抽出することが可能です。

具体的には、冒頭のアウトプットイメージでは次の数式を入力しています。

B3の数式
=VLOOKUP(B2,VSTACK('2023年2月'!$A$1:$C$4,'2023年3月'!$A$1:$C$4,'2023年4月'!$A$1:$C$4),2,FALSE)

B4の数式

=VLOOKUP(B2,VSTACK('2023年2月'!$A$1:$C$4,'2023年3月'!$A$1:$C$4,'2023年4月'!$A$1:$C$4),3,FALSE)

これにより、セルB2に応じた値を抽出しています。

(参考)Power Queryの活用

最近のExcelの標準機能として利用できるPowerQueryを利用すると、ブック内にある複数シートの表を一つのシートに結合する方法の効率化も可能です。

shikumika.org

参考:XLOOKUP関数の特徴と活用事例

ExcelのXLOOKUP関数は検索列と結果列の選択がしやすいなど、便利な関数です。以下に特徴と活用事例をまとめています。

shikumika.org

以上、ExcelのVLOOKUP関数で複数シートのセル範囲から値を抽出する方法でした。