📊つかえる関数.com

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 2016Excel 2019Excel 2021Excel 2024Microsoft 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))