XLOOKUP関数で表から必要な値を取り出す基本手順

Excelで商品ID、社員番号、顧客IDなどをもとに、別表から単価や部署名を取り出したい場面はよくあります。以前はVLOOKUPを使うことが多かったですが、現在のExcelではXLOOKUP関数を使うと、検索する列と取り出す列を分けて指定しやすくなります。

この記事では、初心者向けにXLOOKUPの基本形と、見つからない時の表示を整える方法を紹介します。

XLOOKUP関数の基本形

XLOOKUPは、指定した値を検索範囲から探し、同じ行にある別の列の値を返す関数です。基本形は次の通りです。

=XLOOKUP(検索値, 検索範囲, 戻り範囲, 見つからない時の表示)

たとえば、商品IDをもとに単価を取り出すなら、検索値は商品ID、検索範囲は商品IDの列、戻り範囲は単価の列になります。

手順1:検索値を決める

最初に決めるのは「何をキーに探すか」です。商品ID、社員番号、メールアドレスのように、表の中で重複しにくい値を検索値にすると安定します。

XLOOKUP関数で検索値となる商品IDを決めるExcel操作例

商品名のように表記ゆれが起きやすい値よりも、IDや番号のように決まった形式の値を使う方が、検索ミスを減らしやすくなります。

手順2:検索範囲と戻り範囲を指定する

次に、検索する列と、取り出したい列を指定します。商品IDをA列から探し、単価をD列から取り出すなら、次のような式になります。

XLOOKUP関数で戻り列として単価列を指定するExcel操作例
=XLOOKUP(F2, A2:A6, D2:D6)

`F2` に探したい商品IDを入れると、A2:A6から同じ商品IDを探し、同じ行のD2:D6にある単価を返します。

手順3:見つからない時の表示を整える

検索値が表にない場合、何も設定していないとエラー表示になります。XLOOKUPでは第4引数を使って、見つからない時の表示を指定できます。

XLOOKUP関数の第4引数で未登録時の表示を整えるExcel操作例
=XLOOKUP(F2, A2:A6, D2:D6, "未登録")

このようにしておくと、商品IDがマスタにない場合に「未登録」と表示できます。エラーのままにするより、確認すべきデータが分かりやすくなります。

VLOOKUPより分かりやすいポイント

XLOOKUPは、検索範囲と戻り範囲を別々に指定できます。そのため、「検索する列はA列、返す列はD列」と見たまま指定しやすいのが利点です。

確認項目 XLOOKUPで考えること
何で探すか 商品ID、社員番号、顧客IDなど
どこから探すか 検索値が入っている列
何を返すか 単価、部署、担当者名など
見つからない時 「未登録」「要確認」などを表示

初心者がつまずきやすい注意点

  • 検索範囲と戻り範囲の行数をそろえる
  • 商品IDの前後に余分な空白が入っていないか確認する
  • 数値としてのIDと文字列としてのIDが混ざっていないか確認する
  • 同じIDが複数ある場合、最初に見つかった値が返る点に注意する
  • 古いExcel環境ではXLOOKUPが使えない場合があるため、利用環境を確認する

まとめ

XLOOKUP関数は、IDや番号をもとに別表から必要な値を取り出すときに便利です。まず検索値を決め、検索範囲と戻り範囲を指定し、見つからない時の表示まで整えると、実務で使いやすい表になります。

商品マスタ、社員一覧、顧客一覧など、決まったIDで管理している表がある場合は、XLOOKUPから試してみるとよいでしょう。

参考情報