7/28/2025

Excel。縦横の見出しの交わるデータをXLOOKUP関数で抽出してみた【Cross Tabulation】

Excel。縦横の見出しの交わるデータをXLOOKUP関数で抽出してみた

<XLOOKUP関数>

縦横の見出しの交わるところにあるデータを抽出する方法は、色々あります。

縦横の見出しの交わるデータをXLOOKUP関数で抽出

例えば、INDEX関数とMATCH関数を組み合わせて使う方法があります。


INDEX関数とMATCH関数の組み合わせは慣れると、コツをつかむことができるのですが、少し難解なところもあります。


そこで、今回は、XLOOKUP関数だけで、対応してみたいと思います。


やりたいことは、B7に曜日、B8に時限を設定したら、B9に該当する講義内容を表示するというものです。


B7が金曜日で、B8が2限ということなので、金曜日の2限は、「PowerPoint」です。


このPowerPointをXLOOKUP関数だけで、表示していきます。


B9をクリックして、次の数式を設定します。


=XLOOKUP(B7,B1:F1,XLOOKUP(B8,A2:A5,B2:F5,"",0,1))

これで、縦見出しと横見出しがクロスするデータを抽出することができます。


では、数式を確認しておきましょう。


数式の構造は、XLOOKUP関数にXLOOKUP関数をネストさせています。


最初のXLOOKUP関数ですが、

最初の引数の検索値は、曜日が設定されている、B7です。


2つ目の引数の検索範囲は、B1:F1の曜日を設定します。


3つ目の引数は、戻り範囲です。

ここに、XLOOKUP関数をネストしていきます。


4つ目以降の引数は、省略可能です。

今回は、ネストのXLOOUP関数を設定すれば大丈夫なので、省略しました。


では、ネストである、戻り範囲で設定したXLOOKUP関数をみていくことにします。


XLOOKUP(B8,A2:A5,B2:F5,"",0,1)

1つ目の引数は、検索値なので、時限が設定されているB8。


2つ目の引数は、検索範囲なので、A2:A5を設定します。


3つ目の引数は、戻り範囲なので、B2:F5の教科を範囲選択します。


4つ目の引数は、見つからない場合なので、「””(ダブルコーテーション×2)」で空白とします。


5つ目の引数は、一致モード。今回は、完全一致にしたいので、「0」を採用します。


6つ目の引数は、検索モード。上側からでかまわないので、「1」と設定します。


このように、INDEX関数+MATCH関数の組み合わせでもいいのですが、XLOOKUP関数を重ねてつかうことでも対応することができます。