- 01.はじめに
- 02.この記事でできること
- 03. XLOOKUPとは?
- 04. VLOOKUPとXLOOKUPの違い
- 05. XLOOKUPの基本的な使い方
- 06. 応用編:XLOOKUPの便利な活用法
- 07. XLOOKUPの落とし穴と注意点
- 08. まとめ:これからのExcelはXLOOKUPが主役
01.はじめに
Excelで「データを検索して値を取り出す」という作業は、多くのビジネスパーソンが日常的に行っている業務のひとつです。中でもよく知られているのが「VLOOKUP関数」です。表の中から特定の情報を探し出す力を持つVLOOKUPは、まさにExcelの定番関数でした。
ただし、実際に使ってみると「左側の列しか検索できない」「列を挿入すると動かなくなる」などの不便な点に悩まされたことはありませんか?そんなあなたにぜひ知っていただきたいのが、Excelの新機能「XLOOKUP関数」です。
このXLOOKUPは、VLOOKUPの弱点を見事にカバーしながら、より直感的に使えるよう設計された次世代の検索関数。この記事では、そんなXLOOKUPの基礎から応用まで、初心者でもわかるようにやさしく解説していきます。
なお、XLOOKUPの前にVLOOKUPについてもう少し深く知りたい方は、過去記事「【完全初心者向け】ExcelのVLOOKUP関数をわかりやすく解説!」をぜひご覧ください。
XLOOKUPとの違いもよりクリアに見えてきます。
02.この記事でできること
この記事では、Excelの新しい検索関数「XLOOKUP関数」について、以下のような内容をやさしく、実務的に解説していきます。
- XLOOKUPの構文や使い方がわかる
- VLOOKUPとの違いや置き換えのポイントを理解できる
- 実際の業務で役立つ活用パターンを学べる
- よくあるトラブルや注意点も事前にチェックできる
「Excel関数って難しそう」と感じている方でも、XLOOKUPの仕組みを正しく理解すれば、手作業の検索やコピペ作業から解放されるはずです。
特に「VLOOKUPは使えるけれど、よくエラーが出る」「もう少し柔軟に検索できたらいいのに…」と感じている方には、このXLOOKUPがぴったりの関数です。
ぜひ最後まで読み進めて、あなたのExcelスキルを一段レベルアップさせてください。
03. XLOOKUPとは?
Excelの進化が生んだ「新・検索関数」
XLOOKUP関数は、MicrosoftがExcel 365およびExcel 2019以降で導入した新しい検索関数です。これまでのVLOOKUPやHLOOKUP、INDEX+MATCHなどの検索系関数の使いにくさを解消し、1つの関数で柔軟にデータ検索が行えるようになりました。
これまでVLOOKUPでは「左端から右への検索」しかできませんでしたが、XLOOKUPなら右から左への検索や、横方向の検索も同じ構文で実現できます。
これが多くのユーザーから「VLOOKUPの完全上位互換」と呼ばれる理由です。
基本の構文と引数の意味
XLOOKUP関数の基本構文は以下のとおりです。
=XLOOKUP(検索値, 検索範囲, 戻り値範囲, [見つからない場合の値], [一致モード], [検索モード])
各引数の意味を簡単に説明すると、次の通りです。
- 検索値:探したいデータ(例:社員名)
- 検索範囲:どこから探すか(例:社員名リスト)
- 戻り値範囲:見つかったときに返す値の範囲(例:社員ID)
- 見つからない場合の値:該当がないときに表示させる値(任意)
- 一致モード:完全一致、近似一致などの指定(任意)
- 検索モード:上から下に探すか、下から上かなどの指定(任意)
基本は最初の3つだけで使えるため、VLOOKUPに慣れている方ならすぐに理解できるでしょう。また、列番号を指定する必要がないので、構造が変わっても関数が壊れにくいというメリットがあります。
対応バージョンに注意
XLOOKUPは比較的新しい関数なので、古いExcelバージョンでは利用できません。具体的には以下の通りです。
- ◯ 使用可能:Excel 365、Excel 2019 以降
- × 使用不可:Excel 2016以前、Mac版の一部旧バージョン
職場や取引先で古いExcelを使っている場合は注意が必要です。共有ファイルではXLOOKUPが使えない環境もあるため、導入時はバージョンチェックをしておきましょう。
04. VLOOKUPとXLOOKUPの違い
左方向への検索ができる
VLOOKUP最大の弱点とも言えるのが「検索列より左の列からは値を返せない」という仕様です。たとえば、商品名から商品コードを検索したい場合、VLOOKUPでは商品名が左端にないと対応できませんでした。
一方でXLOOKUPでは、検索列と戻り値の範囲をそれぞれ自由に指定できるため、左方向の検索もOK。これにより、列の並び順に縛られずに柔軟な検索が可能になります。
挿入・削除に強い柔軟性
VLOOKUPでは「戻す値の列番号」を指定する必要がありました(例:2列目など)。そのため、途中に列を挿入すると、列番号がズレてエラーになることも多々あります。
しかしXLOOKUPでは、「戻り値範囲」を直接指定するため、列を挿入・削除しても壊れにくいのが魅力です。構造変更に強いため、テンプレートや長期的なファイル管理にも向いています。
範囲の指定がよりスマートに
VLOOKUPでは範囲全体(検索列+戻り値列)を含む形で指定しなければなりませんでしたが、XLOOKUPでは検索対象と戻り値範囲を別々に指定できます。これにより、無駄な範囲を指定せずに済むため、関数の可読性も高まります。
エラー時の代替値指定が簡単に
VLOOKUPで該当するデータが見つからない場合、通常は「#N/Aエラー」となります。これを避けるには「IFERROR関数」を重ねる必要があり、初心者には少し難しく感じられる部分でした。
XLOOKUPなら、見つからなかった場合に返す値を引数として簡単に指定できます。たとえば「データなし」と表示させたい場合も、関数ひとつで完結します。
=XLOOKUP(A2, B2:B10, C2:C10, "データなし")
このように、1つの関数で「検索+エラー処理」まで完結できるのが、XLOOKUPの大きな利点です。
05. XLOOKUPの基本的な使い方
例題1:社員名簿からIDを検索する
まずはシンプルな使い方から見てみましょう。以下のような社員名簿があるとします。
社員ID | 名前 | 部署 |
---|---|---|
1001 | 佐藤 | 営業 |
1002 | 鈴木 | 経理 |
1003 | 高橋 | 開発 |
この表で、名前から社員IDを検索したい場合、XLOOKUPは以下のように記述します。
=XLOOKUP("鈴木", B2:B4, A2:A4)
この関数は、「B2:B4(名前)」の中から「鈴木」を探し、対応する「A2:A4(社員ID)」の値を返します。VLOOKUPのように範囲全体を指定せず、検索と戻り値を明示的に分けて指定できるのがポイントです。
例題2:商品コードから価格を引き出す
次に、商品コードから価格を検索するパターンを見てみましょう。
商品コード | 商品名 | 価格 |
---|---|---|
A001 | りんご | 120 |
A002 | バナナ | 100 |
A003 | みかん | 130 |
この中から「A002」の価格を取り出すには、以下のように書きます。
=XLOOKUP("A002", A2:A4, C2:C4)
商品コードが「A002」である行の「価格(C列)」の値「100」が返されます。このように、どの列を参照し、どの列から値を返すかを完全にコントロールできるのがXLOOKUPの強みです。
絶対参照の考え方と活用法
XLOOKUPでも他の関数同様、範囲を固定したいときは絶対参照(ドル記号)を使います。コピーしても範囲がズレないようにするためには、以下のように記述します。
=XLOOKUP(E2, $A$2:$A$10, $B$2:$B$10)
特に複数行にまたがって関数をコピーするときは、絶対参照での指定がミス防止のカギになります。この考え方はVLOOKUPと共通なので、使い慣れている人ならすんなり理解できるはずです。
06. 応用編:XLOOKUPの便利な活用法
横方向の検索もこれ1つでOK
従来のHLOOKUP関数は、横方向(行)を対象にした検索でしたが、使い勝手が悪く、あまり使われていませんでした。XLOOKUPでは縦方向・横方向のどちらにも対応可能。たとえば以下のような横持ちデータから値を検索できます。
項目 | Aさん | Bさん | Cさん |
---|---|---|---|
得点 | 85 | 92 | 78 |
Bさんの得点を取得するには、次のように書きます。
=XLOOKUP("Bさん", B1:D1, B2:D2)
列方向のラベルと値を指定するだけで、横向きの表でも同じ関数で検索できます。
条件に合致する最後の値を取得する
データの中で「最後に一致した値」を取りたい場合も、XLOOKUPなら簡単です。検索モードで「-1(下から上へ検索)」を指定すれば、下にある最新の情報を拾ってくれます。
=XLOOKUP("田中", A2:A100, B2:B100, "なし", 0, -1)
これを使えば、「最新の売上データ」「最後に出荷した日」など、実務でもよく使う場面に応用できます。
複数条件のXLOOKUP(他関数との組み合わせ)
XLOOKUP自体は1つの検索値にしか対応していませんが、複数条件での検索も工夫すれば可能です。たとえば、2つの列を合体させて検索キーを作る方法があります。
=XLOOKUP(名前&商品, A2:A100&B2:B100, C2:C100)
このように、&演算子で検索キーを連結すれば、複数条件の絞り込みが可能です。よりスマートに処理したいときはFILTER関数などとの併用もおすすめです。
IFERROR不要?エラー処理も一発
前述のとおり、XLOOKUPは「見つからなかった場合の代替値」を関数内で直接指定できます。これにより、IFERRORを別途重ねなくても、ユーザーにわかりやすいメッセージを表示可能です。
=XLOOKUP(D2, A2:A100, B2:B100, "該当なし")
このようにXLOOKUPは、実務の中でよく発生する「例外処理」も簡単に対応できる点が魅力です。
07. XLOOKUPの落とし穴と注意点
古いExcelでは使えない
XLOOKUPはExcel 365 または Excel 2019 以降のバージョンでのみ利用できます。そのため、職場や取引先が古いバージョンのExcel(2016やそれ以前)を使っている場合、関数が使えなかったり、#NAME?エラーになる可能性があります。
ファイルを他の人と共有する機会が多い方は、事前にバージョンの確認をしておくと安心です。
複雑すぎる入れ子は混乱のもと
XLOOKUPは単体でも強力ですが、FILTER関数やTEXT関数、IF関数などと組み合わせることで、より複雑な処理も可能になります。ただし、あまりにも多くの関数をネスト(入れ子)させると、式が読みにくくなるため注意が必要です。
関数を多用するときは、段階的に構成する or 補助列を使うと、後からの見直しや修正がしやすくなります。
他関数と混在させるときのクセ
XLOOKUPは強力な分、従来の関数と挙動が異なることがあります。たとえば、MATCH関数やINDEX関数と組み合わせる場合、戻り値が「#N/A」か「空白」かで処理の流れが大きく変わるケースがあります。
また、VLOOKUPからXLOOKUPに切り替える際は、同じ結果になるとは限らないため、しっかりテストしてから本番データに適用するようにしましょう。
便利な関数だからこそ、クセを理解しておくことが大切です。
08. まとめ:これからのExcelはXLOOKUPが主役
実務をもっと効率化しよう
XLOOKUP関数は、VLOOKUPやHLOOKUPで感じていた不便さを見事に解消し、検索の自由度・柔軟性・保守性のすべてを大きく向上させてくれます。
これまでVLOOKUPを何となく使ってきた方にとって、XLOOKUPは「こんなに便利になるのか!」という驚きを与えてくれるはずです。特に実務で多くの検索作業を行う方にとっては、作業スピードと正確性の両方がアップする強力な味方となるでしょう。
今からでもVLOOKUP卒業を
VLOOKUPに慣れていると、どうしても「新しい関数に手を出すのは不安…」と感じるかもしれません。ですが、XLOOKUPはその不安を超える直感的で実用的な設計がなされています。
これからのExcelにおける主役は間違いなくXLOOKUPです。 まずは今回ご紹介した基本的な使い方からスタートし、徐々に応用テクニックも身につけていきましょう。
また、XLOOKUPをより深く理解するために、基礎となる「VLOOKUP関数の基本」についても併せて復習しておくと、違いがよりはっきりと見えてきます。 ぜひ、この機会にExcel関数の新しい扉を開いてみてください。