【完全保存版】Excel XLOOKUP関数の使い方を初心者向けに徹底解説!例題で学ぶ最強の検索関数

エクセル

「VLOOKUPは難しくて挫折した…」 「もっと簡単で柔軟な検索関数はないの?」 「複雑なデータから必要な情報を素早く取り出したい!」

そんな悩みを一気に解決してくれるのが、今回ご紹介する XLOOKUP(エックスルックアップ)関数 です。

XLOOKUPは、Microsoftが満を持して登場させた「次世代の検索関数」。長年Excelユーザーを悩ませてきたVLOOKUPの欠点をすべて克服し、誰でも直感的に使えるように設計されています。

この記事では、XLOOKUPをまったく使ったことがない初心者の方でも、読み終える頃にはスラスラ使いこなせるようになることを目指して、基本から応用、さらには実践的な例題までたっぷりと解説していきます。

ぜひ最後までお付き合いくださいね!


  1. 目次
  2. 1. XLOOKUPとは?基本を理解しよう
    1. XLOOKUP関数とは
    2. 利用できる環境
    3. なぜXLOOKUPが「最強」と呼ばれるのか
  3. 2. XLOOKUPの基本構文と引数
    1. 引数の覚え方のコツ
  4. 3. 【基本編】まずは使ってみよう!シンプルな例題
    1. 例題1:商品コードから商品名を取り出す
    2. 例題2:商品名から価格を取り出す
    3. 例題3:左側の値を検索する(VLOOKUPでは不可能だった!)
  5. 4. 【中級編】エラー処理と便利な使い方
    1. 検索値が見つからないときの処理
      1. 例題4:見つからない場合に「該当なし」と表示する
      2. 第4引数の活用例
    2. 横方向の検索もできる(HLOOKUPの代わりに)
    3. 複数列を一度に取り出す
      1. 例題5:商品コードから商品名と価格を同時に取得
  6. 5. 【応用編】XLOOKUPの真価を発揮するテクニック
    1. 一致モード(第5引数)を使いこなす
      1. 例題6:成績から評価を判定する
    2. 検索モード(第6引数)で下から検索
      1. 例題7:最新の取引履歴を取得する
    3. ワイルドカード検索(あいまい検索)
      1. 例題8:「東京」を含む顧客を検索
    4. 複数条件で検索する裏技
      1. 例題9:商品名と店舗名の両方が一致するデータを検索
  7. 6. VLOOKUPとの違いを徹底比較
    1. 同じ処理をVLOOKUPとXLOOKUPで書き比べてみる
  8. 7. 実践練習問題(解答付き)
    1. 練習用データ
    2. 【初級】問題1
    3. 【初級】問題2
    4. 【中級】問題3
    5. 【中級】問題4
    6. 【上級】問題5
    7. 【上級】問題6
  9. 8. よくあるエラーと対処法
    1. エラー1:#N/A(該当する値が見つかりません)
    2. エラー2:#VALUE!
    3. エラー3:#SPILL!
    4. エラー4:関数自体が認識されない(#NAME?)
  10. 9. まとめ
    1. この記事で学んだこと
    2. XLOOKUPを使うべき人
    3. 最後に

目次

  1. XLOOKUPとは?基本を理解しよう
  2. XLOOKUPの基本構文と引数
  3. 【基本編】まずは使ってみよう!シンプルな例題
  4. 【中級編】エラー処理と便利な使い方
  5. 【応用編】XLOOKUPの真価を発揮するテクニック
  6. VLOOKUPとの違いを徹底比較
  7. 実践練習問題(解答付き)
  8. よくあるエラーと対処法
  9. まとめ

1. XLOOKUPとは?基本を理解しよう

XLOOKUP関数とは

XLOOKUP関数 とは、簡単に言うと「指定した値を表の中から探して、対応する値を取り出してくれる関数」です。

例えば、商品コード一覧表から「商品コードA001の商品名を知りたい」「社員番号1234の人の部署を知りたい」というときに大活躍します。

利用できる環境

XLOOKUPは比較的新しい関数で、以下の環境で利用できます。

  • Microsoft 365(旧Office 365)
  • Excel 2021 以降
  • Excel for the web(ブラウザ版)

⚠️ Excel 2019以前のバージョンでは使えませんので、その場合はVLOOKUPやINDEX+MATCHを使う必要があります。

なぜXLOOKUPが「最強」と呼ばれるのか

XLOOKUPがこれほど評価されている理由は、以下の5つの強力な特徴にあります。

  1. 左側の値も検索できる(VLOOKUPは右側しか検索できなかった)
  2. エラー処理が引数だけで完結する(IFERRORを組み合わせる必要がない)
  3. 完全一致がデフォルト(VLOOKUPの「FALSE忘れ」によるミスがない)
  4. 横方向の検索もOK(HLOOKUPの代わりにもなる)
  5. 下から上への検索もできる(最新データの取得が簡単)

これらの特徴を、具体例とともに順に見ていきましょう。


2. XLOOKUPの基本構文と引数

XLOOKUPの基本構文は以下の通りです。

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])

引数は全部で6つありますが、最初の3つが必須、後ろの3つは省略可能 です。最初は前半3つだけ覚えればOKです。

それぞれの引数の意味を表にまとめました。

引数名必須内容
検索値探したい値(例:商品コード「A001」)
検索範囲検索値を探す範囲(縦1列または横1行)
戻り範囲取り出したい値が入っている範囲
見つからない場合検索値が見つからなかったときに表示する値
一致モード完全一致か近似一致かを指定(既定値は完全一致)
検索モード上から検索するか下から検索するかを指定

「△」の引数はとりあえず省略しても問題ありません。慣れてきたら少しずつ使いこなしていきましょう。

引数の覚え方のコツ

最初の3つの引数は、頭の中で次のように考えると簡単に覚えられます。

「何を」「どこから探して」「何を返すか」

  • 検索値 = 何を
  • 検索範囲 = どこから探して
  • 戻り範囲 = 何を返すか

このシンプルな3ステップさえ押さえれば、XLOOKUPの8割は理解できたも同然です!


3. 【基本編】まずは使ってみよう!シンプルな例題

それでは、実際にXLOOKUPを使った例題をいくつか見ていきましょう。

例題1:商品コードから商品名を取り出す

以下のような商品マスタがあるとします。

ABC
1商品コード商品名価格
2A001りんご150
3A002みかん100
4A003バナナ80
5A004ぶどう400
6A005いちご500

E2セルに商品コード「A003」と入力されているとき、F2セルに「バナナ」を表示させたい場合、次のように書きます。

=XLOOKUP(E2, A2:A6, B2:B6)

この式の意味:

  • 検索値: E2(A003)を
  • 検索範囲: A2:A6(商品コードの列)から探して
  • 戻り範囲: B2:B6(商品名の列)の対応する値を返す

→ 結果として 「バナナ」 が表示されます。

例題2:商品名から価格を取り出す

「みかんの価格はいくら?」を調べたい場合はどうでしょうか。

=XLOOKUP("みかん", B2:B6, C2:C6)

→ 結果は 「100」 です。

検索値を直接ダブルクォーテーション("")で囲めば、文字列で指定することもできます。

例題3:左側の値を検索する(VLOOKUPでは不可能だった!)

ここが重要! XLOOKUPの最大の強みの1つが、「検索範囲の左側にあるデータも取り出せる」という点です。

例えば、「商品名”バナナ”の商品コードを知りたい」というケース。

=XLOOKUP("バナナ", B2:B6, A2:A6)

→ 結果は 「A003」 です。

VLOOKUPでは、検索する列より左側の列の値は取り出せませんでした。そのため、「INDEX+MATCH」という複雑な組み合わせを使う必要があったのです。

XLOOKUPなら、検索範囲と戻り範囲を別々に指定できるので、左でも右でも自由自在!


4. 【中級編】エラー処理と便利な使い方

検索値が見つからないときの処理

VLOOKUPでよくあるのが、検索値が見つからないときに「#N/A」というエラーが表示されてしまう問題です。

XLOOKUPなら、第4引数に「見つからなかったときに表示する値」を指定できます。

例題4:見つからない場合に「該当なし」と表示する

先ほどの商品マスタで、存在しない商品コード「X999」を検索してみます。

=XLOOKUP("X999", A2:A6, B2:B6, "該当なし")

→ 結果: 「該当なし」

第4引数に文字列を入れることで、エラーの代わりに分かりやすいメッセージを表示できます。これだけで、VLOOKUP+IFERRORの組み合わせが不要になるのです。

第4引数の活用例

第4引数の値表示される内容
"該当なし"該当なし
"未登録"未登録
00
""空白
"確認してください"確認してください

横方向の検索もできる(HLOOKUPの代わりに)

XLOOKUPは縦だけでなく、横方向の検索も得意です。例えば、月ごとの売上が横並びになっている表でも使えます。

ABCDE
11月2月3月4月
2売上100150200180

「3月の売上を知りたい」場合:

=XLOOKUP("3月", B1:E1, B2:E2)

→ 結果: 「200」

縦でも横でも、まったく同じ感覚で書けるのがXLOOKUPの良いところです。

複数列を一度に取り出す

XLOOKUPは、なんと複数の列を一度に取り出すこともできます!

例題5:商品コードから商品名と価格を同時に取得

=XLOOKUP("A002", A2:A6, B2:C6)

戻り範囲を「B2:C6」と複数列にすると、商品名と価格の両方が一度に取り出されます。

→ 結果: 「みかん」と「100」がそれぞれ隣のセルに表示

これは「スピル」というExcelの新機能で、1つの式の結果が自動的に複数のセルに広がる仕組みです。


5. 【応用編】XLOOKUPの真価を発揮するテクニック

一致モード(第5引数)を使いこなす

第5引数の「一致モード」を変えると、XLOOKUPの動作を細かく調整できます。

動作
0完全一致(既定値)
-1完全一致、なければ次に小さい値
1完全一致、なければ次に大きい値
2ワイルドカード一致

例題6:成績から評価を判定する

以下の評価基準テーブルがあるとします。

AB
1点数(以上)評価
20F
360D
470C
580B
690A

「75点」の評価を知りたいとき、近似一致で検索します。

=XLOOKUP(75, A2:A6, B2:B6, "該当なし", -1)

→ 結果: 「C」(75点は70点以上80点未満なのでC評価)

第5引数に -1 を指定することで、「完全一致がなければ、次に小さい値(70)」を見つけて、その評価「C」を返してくれます。

検索モード(第6引数)で下から検索

第6引数の「検索モード」を使うと、検索する方向を変えられます。

動作
1先頭から末尾へ検索(既定値)
-1末尾から先頭へ検索(下から検索)
2バイナリ検索(昇順データ用)
-2バイナリ検索(降順データ用)

例題7:最新の取引履歴を取得する

以下のような取引履歴があるとします(同じ顧客が複数回登場)。

ABC
1日付顧客名金額
22025/1/15田中5000
32025/2/20佐藤3000
42025/3/5田中8000
52025/4/10田中12000
62025/5/1佐藤6000

「田中さんの最新の取引金額」を知りたい場合:

=XLOOKUP("田中", B2:B6, C2:C6, "該当なし", 0, -1)

→ 結果: 「12000」(一番下の田中さんの取引)

通常の検索だと一番上の「5000」が返されてしまいますが、第6引数に -1 を指定することで、下から検索して最新のデータを取得できます。これは月次レポートや在庫管理で非常に役立つテクニックです!

ワイルドカード検索(あいまい検索)

第5引数を 2 にすると、*(任意の文字列)や ?(任意の1文字)といったワイルドカードを使った検索ができます。

例題8:「東京」を含む顧客を検索

AB
1顧客名担当者
2東京商事山田
3大阪産業鈴木
4東京物産高橋

「東京」を含む最初の顧客の担当者を取得するには:

=XLOOKUP("*東京*", A2:A4, B2:B4, "該当なし", 2)

→ 結果: 「山田」

部分一致での検索ができるので、表記ゆれがあるデータでも柔軟に対応できます。

複数条件で検索する裏技

XLOOKUPは本来、1つの条件でしか検索できませんが、ちょっとした工夫で複数条件にも対応できます。

例題9:商品名と店舗名の両方が一致するデータを検索

ABC
1商品名店舗在庫数
2りんご東京店50
3りんご大阪店30
4みかん東京店20
5みかん大阪店40

「りんご」かつ「大阪店」の在庫数を取得:

=XLOOKUP(1, (A2:A5="りんご")*(B2:B5="大阪店"), C2:C5)

→ 結果: 「30」

検索範囲の部分で、複数の条件を「*(掛け算)」でつなぐことで、両方の条件が一致する行(=1になる行)を見つけ出せます。


6. VLOOKUPとの違いを徹底比較

長年使われてきたVLOOKUPと、新しいXLOOKUPの違いを表で見比べてみましょう。

項目VLOOKUPXLOOKUP
検索方向左→右のみ左右どちらでもOK
デフォルトの一致モード近似一致完全一致
エラー処理IFERRORが必要第4引数で完結
列の指定方法列番号で指定範囲で指定
列の追加・削除式が壊れることが多い壊れにくい
横方向の検索不可(HLOOKUPが必要)可能
下から検索不可可能
複数列の同時取得不可(複数式が必要)可能(スピル)
学習コストやや高め(慣れが必要)直感的で覚えやすい

同じ処理をVLOOKUPとXLOOKUPで書き比べてみる

「商品コードA002の商品名を取得する」という同じ処理を、両方の関数で書いてみましょう。

VLOOKUPの場合:

=VLOOKUP("A002", A2:C6, 2, FALSE)

XLOOKUPの場合:

=XLOOKUP("A002", A2:A6, B2:B6)

XLOOKUPの方が、何をしているかが直感的に分かりますよね。「2」や「FALSE」のような、覚えなければならない要素が減っているのが特徴です。


7. 実践練習問題(解答付き)

ここまで学んだ内容を、実際に手を動かして練習してみましょう!

練習用データ

以下の社員リストを使って問題を解いてみてください。

ABCDE
1社員番号氏名部署役職入社年
2E001山田太郎営業部課長2010
3E002佐藤花子経理部主任2015
4E003鈴木一郎営業部部長2005
5E004田中美咲人事部一般2020
6E005高橋健太開発部主任2018

【初級】問題1

社員番号「E003」の氏名を取得する数式を書いてください。 <details> <summary>▼ 解答を見る</summary>

=XLOOKUP("E003", A2:A6, B2:B6)

結果: 鈴木一郎 </details>

【初級】問題2

「田中美咲」さんの部署を取得する数式を書いてください(左側検索の練習です)。 <details> <summary>▼ 解答を見る</summary>

=XLOOKUP("田中美咲", B2:B6, C2:C6)

結果: 人事部 </details>

【中級】問題3

社員番号「E999」(存在しない番号)を検索したとき、「該当者なし」と表示される数式を書いてください。 <details> <summary>▼ 解答を見る</summary>

=XLOOKUP("E999", A2:A6, B2:B6, "該当者なし")

結果: 該当者なし </details>

【中級】問題4

社員番号「E002」の氏名・部署・役職を一度に取得する数式を書いてください。 <details> <summary>▼ 解答を見る</summary>

=XLOOKUP("E002", A2:A6, B2:D6)

結果: 佐藤花子、経理部、主任(3つのセルにスピル) </details>

【上級】問題5

「営業部」に所属する社員のうち、最後に登場する社員(一番下)の氏名 を取得する数式を書いてください。 <details> <summary>▼ 解答を見る</summary>

=XLOOKUP("営業部", C2:C6, B2:B6, "該当なし", 0, -1)

結果: 鈴木一郎

第6引数に -1 を指定して、下から検索しているのがポイントです。 </details>

【上級】問題6

「営業部」かつ「課長」の社員の氏名を取得する数式を書いてください(複数条件検索)。 <details> <summary>▼ 解答を見る</summary>

=XLOOKUP(1, (C2:C6="営業部")*(D2:D6="課長"), B2:B6)

結果: 山田太郎 </details>

すべて解けた方は、もうXLOOKUPマスターと言ってもいいでしょう!👏


8. よくあるエラーと対処法

XLOOKUPを使っていてつまずきやすいエラーと、その対処法をまとめました。

エラー1:#N/A(該当する値が見つかりません)

原因:

  • 検索値が検索範囲に存在しない
  • 余計なスペースが含まれている
  • 大文字・小文字、半角・全角の違い

対処法:

  • 第4引数を指定して、エラーの代わりに任意の文字列を表示する
  • TRIM関数で余計なスペースを除去してから検索する
=XLOOKUP(TRIM(E2), A2:A6, B2:B6, "見つかりません")

エラー2:#VALUE!

原因:

  • 検索範囲と戻り範囲のサイズが一致していない
  • 例:検索範囲が A2:A6(5行)なのに、戻り範囲が B2:B10(9行)

対処法:

  • 検索範囲と戻り範囲の行数(または列数)を一致させる

エラー3:#SPILL!

原因:

  • スピルする先のセルに、すでに別のデータが入っている

対処法:

  • 数式を入れたセルの右側または下側(スピル先)を空にする

エラー4:関数自体が認識されない(#NAME?)

原因:

  • 使用しているExcelのバージョンがXLOOKUPに対応していない

対処法:

  • Excel 2021以降、またはMicrosoft 365にアップグレードする
  • 古いバージョンでは、VLOOKUP+IFERRORやINDEX+MATCHで代用する

9. まとめ

ここまでお疲れさまでした!XLOOKUPの全体像をおさらいしておきましょう。

この記事で学んだこと

  • XLOOKUPは、VLOOKUPの欠点をすべて解消した次世代の検索関数
  • 基本構文:
  =XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
  • 左右どちらの方向にも検索できる
  • 第4引数で簡単にエラー処理ができる
  • 横方向の検索も、下からの検索も自由自在
  • 複数列の同時取得もスピルで一発
  • 複数条件検索にも、ちょっとした工夫で対応可能

XLOOKUPを使うべき人

  • VLOOKUPの「列番号指定」が苦手な方
  • 表の構造が頻繁に変わる業務をしている方
  • データ分析やレポート作成を効率化したい方
  • とにかくシンプルで分かりやすい関数を使いたい方

最後に

XLOOKUPは、一度使い始めると「もうVLOOKUPには戻れない!」と感じるほど便利な関数です。最初は基本の3つの引数だけでも構いません。少しずつ使いこなして、ぜひあなたの業務を効率化していってくださいね。

MOS Excel 365 Expert 対策テキスト&問題集
Amazonで富士通ラーニングメディアのMOS Excel 365 Expert 対策テキスト&問題集 (よくわかるマスター)。アマゾンならポイント還元本が多数。富士通ラーニングメディア作品ほか、お急ぎ便対象商品は当日お届けも可能。またMO…

この記事が、皆さまのExcelスキルアップのお役に立てれば幸いです!

それでは、また次の記事でお会いしましょう。

コメント

タイトルとURLをコピーしました