今回は、XLOOKUP関数の使い方について解説します。
XLOOKUPは、
表から検索値に合致する特定のデータひとつを取り出す関数です。Excelでのみ使用可能で、スプレッドシートには存在しない関数です。
似た機能を持つ関数に
VLOOKUP関数、
HLOOKUP関数があります。
また、INDEX関数とMATCH関数を組み合わせても同じような働きをすることができます。(
LINK)
まずは、書式を見てみましょう。
=VLOOKUP(検索値, 検索範囲,戻り範囲,見つからない場合の表示,一致モード,検索モード)
検索値とは「検索に使う条件となるデータ」で、これに合致するものを検索範囲から探してきます。
検索範囲とは、検索値を探してくる範囲です。
戻り範囲とは、検索範囲の中で検索値に合致したとき、何を値として取り出すかを決定します。
※検索範囲と戻り範囲は高さが一致している必要があります。
以下の3項目は全て
オプションとして設定できます。設定しなくてもOKです。
見つからない場合の表示は、検索範囲から検索値が見つからない場合、何と表示するかを示します。設定しない場合、
#N/A が返されます。
一致モードは、検索値の一致の種類を設定します。初期値では、
完全一致が設定されています。近似値も検索するように変更することもできます。
検索モードは、どの順番で検索値を検索していくか決定します。初期値では、先頭から検索していきますが、末尾からに変更することもできます。
例えば、以下のようなアメリカの州別の人口推移の表があるとします。
XLOOKUP関数を用いて、コロラドの2016年の人口を抽出してみましょう。
アメリカの州別の人口推移
まずは、検索値を設定しましょう。「コロラド」と設定します。
=XLOOKUP("コロラド"
次に、検索範囲を設定します。州名はA列の2 - 14の行にありますので、その範囲で検索値を探すようにします。
=XLOOKUP("コロラド",A4:A14
検索範囲の設定
そして、戻り値を設定します。2018年の人口データはJ列の2 - 14の行にあるので、その範囲を設定しましょう。
=XLOOKUP("コロラド",A2:A14,J2:J14)
戻り範囲の決定
今回、オプションの3項目に関してはデフォルトのままにしておきたいので、何も記載しません。
すると、コロラドの2018年の人口である
5,691,287が抽出されて表示されます。
なお、検索範囲と戻り範囲は
高さが一致している必要があります。
例えば、戻り範囲をJ1:J14としてしまった場合、
=XLOOKUP("コロラド",A2:A14,J1:J14)
検索範囲と戻り範囲の高さが異なる場合
#VALUE!とエラーが表示されます。
また、検索範囲と戻り範囲の
横幅に関しては一致する必要がありません。例えば、戻り範囲をJ2:K14と2列分選択した場合、
=XLOOKUP("コロラド",A2:A14,J2:K14)
戻り値を2列分選択
5,691,287 ・5,758,736と2018年・2019年の2列分のデータが抽出されます。
XLOOKUP関数をダウンロードして御覧になりたい場合は
こちらから
XLOOKUP関数を使った練習問題に取り組む場合は
こちらから