XLOOKUPで縦横の2次元検索(クロス集計)をする方法は?
結論
XLOOKUPをネストすることで、行と列の交差する値を取得する2次元検索ができます。
詳しい解説
XLOOKUPを入れ子(ネスト)にすることで、行と列の交差する値を取得できます。パターンは`=XLOOKUP(G2, A:A, XLOOKUP(H1, B1:E1, B:E))`で、外側のXLOOKUPが行を検索し、内側のXLOOKUPが列を検索します。Excel 2021/2024およびMicrosoft 365で使用可能で、従来のINDEX+MATCH+MATCHの代替として非常に分かりやすく記述できます。社員名(行)×月(列)のクロス集計表から値を取得する場合などに便利です。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| 非対応 | 非対応 | 対応 | 対応 | 対応 |
実務での使用例
社員×月のクロス集計から売上を取得
行に社員名、列に月が並ぶ表から、特定の社員(G2)の特定月(H1)の売上を検索
=XLOOKUP(G2, A:A, XLOOKUP(H1, B1:E1, B:E))商品×支店のクロス表から在庫を参照
商品(行)と支店(列)の交差する在庫数を取得。INDEX+MATCH+MATCHより簡潔
=XLOOKUP(A10, A2:A8, XLOOKUP(B9, B1:F1, B2:F8))