
さらばVLOOKUP!ExcelのXLOOKUP関数の使い方を完全マスター【複数条件・エラー処理も網羅】
Officeのお役立ち情報

記事の最終更新日:2025年7月14日
仕事でExcelのVLOOKUP関数を毎日使っているんです。でも、すごく不便なことが多くて…。
検索したい値が表の一番左の列にないと使えないし、参照先の表に後から列を一つでも追加したり削除したりすると、列番号がズレて数式が全部壊れてしまうんです。
それに、検索値が見つからなかった時に表示される「#N/A」エラーを消すために、いつもIFERROR関数と組み合わせるのもすごく面倒です。
もっと賢くて、柔軟で、そしてエラーにも強い、新しい検索関数ってExcelにはないのでしょうか?
そのVLOOKUP関数への積年の不満。Excelを使い込んできた全てのビジネスパーソンが共有する痛みです。
しかし、朗報があります。その長く続いたVLOOKUPの圧政の時代は、完全に終わりました。
Microsoftは私たちのその悲痛な叫びを聞き入れ、VLOOKUPが抱えていた全ての問題をエレガントに、そして完全に解決する真の後継者、「**XLOOKUP(エックスルックアップ)関数**」を世に送り出したのです。
XLOOKUPは、左方向の検索、列の挿入・削除への耐性、そしてエラー処理までを標準で備えた、まさに革命的な関数です。
この記事では、VLOOKUPへの追悼の辞を述べると共に、この新しい王であるXLOOKUPの基本的な使い方から、複数条件の検索といった高度な応用技術まで、あなたのExcelでのデータ操作を未来へと導く、全ての知識を授けます。
旧時代の王、VLOOKUPの死:なぜ、私たちは別れを告げるべきなのか
長年にわたりExcelにおけるデータ検索の代名詞として君臨してきたVLOOKUP関数。その功績は計り知れません。しかし、現代の複雑なデータ分析の要求の前では、その設計の古さはもはや隠しきれないものとなっていました。私たちがVLOOKUPに別れを告げ、新しいXLOOKUPの時代へと進むべき理由は、VLOOKUPが抱える4つの致命的な欠陥に集約されます。
- 欠陥1:左方向への検索ができない。 VLOOKUPの最大の制約は、検索値が必ず検索範囲の「一番左の列」になければならないという理不尽なルールです。これにより、私たちは元データの列の順番をわざわざ入れ替えるといった不毛な作業を強いられてきました。
- 欠陥2:列番号の指定が脆すぎる。 VLOOKUPは、取り出すべきデータが「検索範囲の左から何番目の列にあるか」を数値で指定します。このため、元の表に後から列を一行でも挿入・削除しただけで、この列番号の参照は容赦なくズレ、数式はエラーを吐き出します。これはメンテナンス性の観点から悪夢としか言いようがありません。
- 欠陥3:エラー処理が組み込まれていない。 検索値が見つからなかった場合に表示される、あの悪名高き「`#N/A`」エラー。これを表示させないために、私たちは常に「`=IFERROR(VLOOKUP(...), "該当なし")`」といった冗長で醜い数式を書くことを強いられてきました。
- 欠陥4:近似一致の挙動が分かりにくい。 第4引数の「`TRUE`(近似一致)」と「`FALSE`(完全一致)」の選択は、多くの初心者を混乱させてきました。そして、デフォルトが近似一致であるため、意図しない誤ったデータが返されるという事故の温床ともなっていました。
XLOOKUPは、これら全ての問題をその洗練された設計によって、過去の遺物へと変え去ったのです。
XLOOKUPの解剖学:6つの引数がもたらす無限の柔軟性
XLOOKUP関数の基本的な構文は以下の通りです。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
最初の3つの引数が必須であり、後ろの3つの引数は省略可能なオプションですが、このオプションにこそXLOOKUPの真の力が秘められています。
必須の三要素:`検索値`, `検索範囲`, `戻り範囲`
まず、基本的な使い方を見ていきましょう。VLOOKUPとの決定的な違いは、「検索範囲」と「戻り範囲」を別々の「列」として指定する点にあります。
例えば、「`A2`セルの値を`D:D`列の中から探し、見つかった行の`B:B`列の値を返したい」という場合、数式は以下のようになります。
=XLOOKUP(A2, D:D, B:B)
ただ、これだけです。検索範囲(`D:D`)と戻り範囲(`B:B`)が独立しているため、VLOOKUPのように「検索範囲の一番左が…」といった制約は一切ありません。これにより、表の**左方向への検索**がいとも簡単に実現できます。また、列番号のような脆い指定もないため、後から表に列を挿入・削除しても数式が壊れることはありません。そして、デフォルトの検索モードが「完全一致」であるため、VLOOKUPのように第4引数に`FALSE`を入力し忘れるというありがちなミスも起こり得ません。
プロの道具箱:3つの強力なオプション引数
XLOOKUPを真にマスターするとは、この省略可能な引数を使いこなすことです。
- [見つからない場合]: これこそがIFERROR関数を不要にする革新的な引数です。ここに「"該当なし"」や「0」といった値を指定しておけば、検索値が見つからなかった場合に`#N/A`エラーの代わりにその指定した値が表示されます。数式は劇的にシンプルで美しくなります。
-
[一致モード]: 検索の一致方法をより細かく制御できます。
- `0`:完全一致(デフォルト)
- `-1`:完全一致、または見つからない場合は次に小さい項目(近似一致)
- `1`:完全一致、または見つからない場合は次に大きい項目(近似一致)
- `2`:`*`や`?`といったワイルドカード文字を使った部分一致
-
[検索モード]: 検索をどの方向から行うかを指定できます。
- `1`:先頭から末尾へ(デフォルト)
- `-1`:**末尾から先頭へ**。これが非常に強力です。例えば、顧客の取引履歴の中から「最後の購入日」を見つけ出すといった、VLOOKUPでは不可能だった検索が可能になります。
- `2` / `-2`:データが昇順/降順にソートされている場合に、より高速なバイナリ検索を行います。
応用編:XLOOKUP関数、プロフェッショナル・レシピ集
XLOOKUPの真価は、他の関数と組み合わせたり、あるいはそれ自身を入れ子にしたりすることで、さらに発揮されます。
レシピ1:複数条件での検索(AND条件)
「商品名が“A”で、かつ、サプライヤーが“X社”である商品の単価を検索したい」といった、複数の条件に合致するレコードを見つけ出します。これには、ブール論理(TRUE(1)とFALSE(0)の論理演算)を利用した少し高度なテクニックを使います。
=XLOOKUP(1, (商品名範囲="A") * (サプライヤー範囲="X社"), 単価範囲)
この数式は、まず`(商品名範囲="A")`で「TRUE, FALSE, TRUE...」といった配列を作り、次に`(サプライヤー範囲="X社")`で同様の配列を作ります。そして、この2つの配列を掛け合わせることで、両方の条件が`TRUE`である行だけが「`1`」、それ以外は「`0`」となる新しい配列を作り出します。最後に、XLOOKUPはこの結果の配列の中から「`1`」を検索することで、両方の条件を満たす最初の行を見つけ出し、対応する単価を返してくれるのです。
レシピ2:縦横クロスでの検索(INDEX/MATCHの代替)
「商品Bの、3月の売上個数」のように、行と列の両方の条件から特定の位置の値を取得します。これは従来、`INDEX`関数と`MATCH`関数の組み合わせで実現されてきた高度なテクニックですが、XLOOKUPを入れ子にすることで、より直感的に実現できます。
=XLOOKUP("商品B", 商品名範囲, XLOOKUP("3月", 月ヘッダー範囲, 売上データ範囲全体))
まず、内側の`XLOOKUP("3月", ...)`が、売上データ全体の中から「3月」に該当する「列」を`戻り範囲`として返します。そして、外側の`XLOOKUP("商品B", ...)`が、その返された「3月の列」の中から「商品B」に該当する行の値を、最終的に見つけ出すという二段階の検索を行っています。
レシピ3:複数列の一括取得
XLOOKUPは、戻り範囲として複数の列を指定することもできます。例えば、「商品ID」をキーに「商品名」「単価」「在庫数」の3列を一度に取得したい場合、戻り範囲としてその3列の範囲を指定します。
=XLOOKUP(A2, 商品ID範囲, 商品名・単価・在庫数範囲)
もしあなたのExcelがスピル(一つの数式が複数のセルに結果を自動で展開する機能)に対応していれば、この一つの数式だけで隣接する3つのセルにそれぞれの値が自動で表示されます。
最終対決:XLOOKUP vs INDEX/MATCH - 新時代の王者はどちらか
長年、VLOOKUPの弱点を克服するためのパワーユーザーの標準装備として君臨してきたのが、「`INDEX`関数と`MATCH`関数の組み合わせ」でした。この伝統的な強者と新しい挑戦者であるXLOOKUPとでは、どちらに軍配が上がるのでしょうか。
結論から言えば、あなたがMicrosoft 365やExcel 2021以降のモダンなExcelを使っているのであれば、もはや**ほとんどの場面でXLOOKUPを使うべき**です。XLOOKUPは、`INDEX/MATCH`で実現できるほぼ全てのことを、よりシンプルで短く、そして人間にとって分かりやすい数式で実現できます。エラー処理や後方検索といった、`INDEX/MATCH`ではさらに複雑な組み合わせが必要だった機能も、XLOOKUPはオプション引数として標準で内蔵しています。
しかし、`INDEX/MATCH`が完全に不要になったというわけではありません。あなたが作成したExcelファイルを、古いバージョンのExcelしか持っていない他者と共有する必要がある場合、そのファイルは`INDEX/MATCH`で作成しておかなければ互換性が保てません。また、非常に特殊な行列の交差点を動的に取得するような一部の複雑な参照においては、今なお`INDEX/MATCH`の方が柔軟性が高いと主張する専門家もいます。
新しい仕事にはXLOOKUPを積極的に使いこなしつつ、古いファイルのメンテナンスや互換性のために`INDEX/MATCH`も知識として引き出しに持っておく。それが、2025年現在のExcelプロフェッショナルのあるべき姿と言えるでしょう。
まとめ:XLOOKUPは、あなたの「データ検索」の常識を塗り替える思考のアップグレードである
XLOOKUP関数の習得は、単に新しい関数を一つ覚えるということではありません。それは、これまでVLOOKUPの様々な制約によって縛られてきた、あなたのデータ操作に関する思考の枠組みそのものを、より自由で柔軟な新しい次元へと解放するということです。
- VLOOKUPの4つの苦しみから解放される: 左方向への検索、列の挿入・削除への耐性、組み込みのエラー処理、そして分かりやすいデフォルト設定。XLOOKUPは、あなたの長年のストレスを過去のものとします。
- 6つの引数を使いこなす: 特に、省略可能な3つのオプション引数、`[見つからない場合]`、`[一致モード]`、`[検索モード]`をマスターすることが、あなたを真のパワーユーザーへと導きます。
- 「最後のデータ」を検索する: `[検索モード]`に「`-1`」を指定することで、VLOOKUPや`INDEX/MATCH`では困難だった「末尾からの検索」が驚くほど簡単に実現できることを知る。
- 新しい標準として受け入れる: 互換性が問題とならない全ての新しいブックにおいて、検索・参照の第一の選択肢はもはやXLOOKUPであると、自らの知識をアップデートする。
もう、データの前で列の順番を入れ替えたり、`IFERROR`の長い数式をタイプしたりする必要はありません。XLOOKUPという新しい時代の強力な武器を手に、あなたのデータ分析の効率と精度を飛躍的に向上させてください。

パソコン購入のためのお役立ち情報
パソコン選びがよく分からない方、ご不安のある方、悩む前に!お気軽にご相談ください!
専門スタッフが、性能・ご予算・お好みなどご希望に合ったパソコンをお探しします!
