XLOOKUPで横方向に検索|年・月の見出しから売上を取得する方法

年を指定して 横の表から検索。無料Excelサンプル付き。

XLOOKUPは縦の一覧だけでなく、横に並んだ年・月の見出しも検索できます。検索範囲を1行、戻り範囲を対応する1行に指定します。列の位置がそろっていれば、離れた行や見出しより上の行も戻り範囲にできます。

無料Excelサンプルで一緒に試す

B2:F2が年の見出し、B7:F7が年間合計です。B10を「2018年」にすると、B11に12,893(千円)が返る例を確認できます。

無料サンプルファイルをダウンロード(.xlsx)

Microsoft 365向け。XLOOKUP・FILTER・UNIQUEの例はExcel 2024・2021でも利用できます。本文の対応版もご確認ください。

目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

横方向検索の基本式

B11に入力:年の見出し(横1行)から、年間合計を取得する
数式=XLOOKUP(B10,B2:F2,B7:F7,"該当なし",0)
ひとことで見出し行から年を探し、同じ列にある合計を返す
B10
検索値です。探したい年度(2018年など)が入っています
B2:F2
検索範囲です。年の見出し(横1行)です
B7:F7
戻り範囲です。年間合計(横1行)です。検索範囲と、列数をそろえます
"該当なし"
見つからないときの表示です
0
一致モードです。0は完全一致です
データの流れ
① 見出しの「2018年」を探す(4列目)
B22015年C22016年D22017年E22018年F22019年
▼
② 同じ列(E列)の年間合計を返す結果
B1112,893
ポイントB10の年をB2:F2から探し、見つかった位置と同じ列のB7:F7の値を返します。配布サンプルでは2018年はE列にあり、E7の12,893が返ります。単位は表に記載された千円です。

数値の年と「年」付き文字列を区別する

注意見出しが文字列の2018年なら、検索値も2018年にそろえます。見出しが数値2018に表示形式で「年」を付けたものなら、検索値は数値2018にします。見た目が同じでも内部の値が異なると一致しません。

横方向に固定してコピーする

別の検索欄へ式をコピーする場合、見出しと戻り行を固定します。

B11に入力:見出しと戻り行を固定して、コピーしてもずれないようにする
数式=XLOOKUP(B10,$B$2:$F$2,$B$7:$F$7,"該当なし",0)
ひとことで検索範囲と戻り範囲に「$」を付けて、別の検索欄へコピーしても範囲がずれないようにする
B10
検索値です。コピー先に応じて動かします($ は付けません)
$B$2:$F$2
検索範囲です。$ で固定します
$B$7:$F$7
戻り範囲です。$ で固定します
補足年度が増えてG列へ追加されたら、検索範囲と戻り範囲の両方を、G列まで広げます。
ポイントB10はコピー先に応じて動かし、検索範囲と戻り範囲の列をそろえたままにします。年度が増えてG列へ追加されたら、両方の範囲をG列まで広げます。

複数の行をまとめて返す

D11に入力:見つけた列の、複数の行をまとめて返す
数式=XLOOKUP(B10,B2:F2,B3:F7,"該当なし",0)
ひとことで戻り範囲を5行にして、四半期別の売上と合計を、縦に広げて返す
B3:F7
戻り範囲です。3〜7行目(四半期別と合計)の5行です。検索範囲と、列数をそろえます
データの流れ
① 見つかった年(2018年・E列)の、3〜7行目
E33,340E42,253E53,127E64,173E712,893
▼
② D11から下へ、5行が広がる(スピル)結果
D113,340D122,253D133,127D144,173D1512,893
ポイント戻り範囲をB3:F7にすると、見つかった年の四半期別売上と合計が縦5行へ広がります。式はB11などの空き領域に入れ、下のセルを空けておきます。検索範囲と戻り範囲は列数を合わせます。

HLOOKUPで同じ結果を求める

F11に入力:HLOOKUPで、同じ結果を求める
数式=HLOOKUP(B10,B2:F7,6,FALSE)
ひとことで見出し行を先頭にした範囲から、6行目(合計)を返す
B2:F7
検索する表です。見出し行(2行目)が先頭になります
6
返す行の番号です。範囲の先頭から数えて6行目=シートの7行目(合計)です
FALSE
完全一致です。省略すると近似一致になります
補足行番号は、範囲の先頭から数えます。シート全体の行番号(7)ではありません。
注意範囲の先頭行が2行目なので、7行目の合計は範囲内の6行目です。行番号はシート全体の7ではありません。HLOOKUPも離れた行を返せますが、検索する行を指定範囲の先頭に置く必要があります。XLOOKUPでは検索行と戻り行を別々に指定します。

横と縦の2条件で検索したい場合

ポイント年だけでなく、商品名や支店名との交点を返す場合はXLOOKUPを入れ子にするかINDEX+MATCHを組み合わせます。XLOOKUPの入れ子で行と列を検索に具体例があります。

XLOOKUPはMicrosoft 365・Excel 2024・2021向けです。Excel 2019・2016との共有ではHLOOKUPなどを使います。

無料Excelサンプルで復習する

B2:F2が年の見出し、B7:F7が年間合計です。B10を「2018年」にすると、B11に12,893(千円)が返る例を確認できます。

無料サンプルファイルをダウンロード(.xlsx)

Microsoft 365向け。XLOOKUP・FILTER・UNIQUEの例はExcel 2024・2021でも利用できます。本文の対応版もご確認ください。

次に読むと理解が深まる記事

参考:Microsoft公式ドキュメント XLOOKUP / HLOOKUP

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次