ExcelのVLOOKUP関数やXLOOKUP関数で、単一の表(セル範囲)ではなく、複数シートのセル範囲から値を抽出したい場合はVSTACK関数が便利です。
VSTACK関数は複数のシートにある表を一つの表に結合できる関数です。
内容:
なお、VSTACK関数は、Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the webで利用可能です。
アウトプットイメージ
次のように、ExcelのVLOOKUP関数で、「範囲」にVSTACK関数を使用して複数シートに分かれているセル範囲をまとめ、値を抽出します。
XLOOKUP関数も同様の考え方で可能です。
VSTACK関数の基本事例
VSTACK関数で複数のシートにある表を一つの表に結合する方法の基本は次のとおりです。
数式の補足説明
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を利用すると、ブック内にある複数シートの表を一つのシートに結合する方法の効率化も可能です。
参考:XLOOKUP関数の特徴と活用事例
ExcelのXLOOKUP関数は検索列と結果列の選択がしやすいなど、便利な関数です。以下に特徴と活用事例をまとめています。
以上、ExcelのVLOOKUP関数で複数シートのセル範囲から値を抽出する方法でした。