Excelの上級テク 2つの表を参照してデータを取る
実例で学ぶ! Excel関数・数式講座「顧客情報表」(2)
ビジネススキル縦方向の表の範囲を検索、横方向の表から取り出す
検索対象の範囲とデータを取り出す範囲をそれぞれ指定できるのは、実はXLOOKUP関数だけではない。LOOKUP関数の「ベクトル形式」でも、第2引数と第3引数でそれぞれの範囲を指定することが可能だ。ここでは、累積ポイントが未入力の場合に対応するため、IFERROR関数と組み合わせている(図8)。

図8 LOOKUP関数の「ベクトル形式」でも、検索する範囲と値を取り出す範囲を個別に指定することが可能だ。累積ポイントが未入力の場合はやはりエラー値「#N/A」が表示されてしまうため、ここでもIFERROR関数を組み合わせている
LOOKUP関数のベクトル形式の場合、引数「検査範囲」と「対応範囲」には、同じ数のセルを含む、1行または1列のセル範囲か配列を指定する。要素数(セルの数)が同じで並び順が対応していれば、「検査範囲」と「対応範囲」で縦と横の方向が異なっていてもよい。ここでは参考例として、「応募可能賞品リスト」の表を横向きにした状態で、参照する例を示そう(図9)。

図9 LOOKUP関数の場合、データ数と並び順さえ同じなら、検索する範囲と値を取り出す範囲の縦横の向きが異なっていても問題ない。ここでは参考例として、横長の表として作成した応募可能賞品リストから、累積ポイントに対応する賞品名を取り出してみよう
なお、このような使い方ができるのはLOOKUP関数だけだ。XLOOKUP関数の場合、引数「検索範囲」と「戻り範囲」のサイズ(行数×列数)は必ず同じにする必要がある。
(ライター 土屋和人)
[日経PC21 2022年11月号掲載記事を再構成]