【もうVLOOKUPには戻れない!】Excel・スプレッドシートのXLOOKUP関数で業務を劇的に効率化!

「エクセルは仕事で毎日使うけど、いつも同じ関数ばかり…」「もっと効率的な方法はないのかな?」
もしあなたがそう感じているなら、ぜひこの記事を読んでみてください。今回は、あなたのエクセル作業を劇的に変える可能性を秘めた、XLOOKUP(エックスルックアップ)関数を徹底解説します!
「なんだか難しそう…」と思いましたか?大丈夫です!この記事では、事業主の皆様にも分かりやすいように、基本的な使い方から、VLOOKUPやHLOOKUPといった従来の関数との違い、そしてビジネスの現場でどのように役立つのかを、じっくりと解説していきます。
XLOOKUP関数をマスターすれば、データ検索にかかる時間を大幅に短縮し、入力ミスやエラーを減らし、より正確で効率的なデータ分析が可能になります。まるで、あなたのオフィスに新しい優秀なアシスタントが加わるようなもの。さあ、XLOOKUP関数で、あなたのビジネスをさらに加速させましょう!
1. XLOOKUPって何? 忙しいあなたにこそ知ってほしい基本
XLOOKUP関数は、簡単に言うと「指定した範囲の中から、ある特定のデータを見つけ出し、そのデータに対応する別の情報を引っ張ってくる」という役割を持つ、エクセルの新しい関数です 。
例えば、
- 顧客リストから、顧客の名前を入力するだけで電話番号や住所をすぐに表示させたい
- 商品リストから、商品コードを入力するだけで商品名や価格を自動で表示させたい
- 売上データから、特定の商品名の売上額を素早く集計したい
こんな時に、XLOOKUP関数が驚くほどの力を発揮します。
従来のVLOOKUP関数やHLOOKUP関数も同じような役割を果たしましたが、XLOOKUP関数はそれらの弱点を克服し、さらに進化した、まさに「かゆいところに手が届く」関数なんです 。
XLOOKUPの基本構文を分かりやすく解説
XLOOKUP関数の基本的な使い方は、以下のようになります :
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [照合モード], [検索モード])
ちょっと難しそうに見えますね。でも大丈夫!一つずつ、分かりやすく解説します。
- 検索値(lookup_value): これは「探したいデータ」のことです。例えば、顧客の名前や商品コードなど、あなたが探したいキーワードをここに入力します 。
- 検索範囲(lookup_array): これは「探したいデータがどこにあるか」を指定する範囲です。例えば、顧客リストの名前が並んでいる列や、商品コードが並んでいる列などを指定します 。
- 戻り範囲(return_array): これは「見つかったデータに対応して、何を知りたいか」を指定する範囲です。例えば、顧客の名前が見つかった場合に、その人の電話番号が並んでいる列や、商品の価格が並んでいる列などを指定します 。
ここまでの3つが、XLOOKUP関数を使う上で必須の項目です。残りの3つは、さらに便利に使うためのオプションなので、まずはこの3つをしっかり覚えましょう。
簡単な使用例:商品リストから価格を検索
例えば、A列に商品名、B列に価格が入力された商品リストがあるとします。セルD1に商品名を入力したら、セルE1にその価格を自動で表示させたい場合、セルE1に以下の数式を入力します。
=XLOOKUP(D1, A:A, B:B)
この数式は、「セルD1に入力された商品名を、A列(商品名が入力された列)の中から探し、見つかったら同じ行のB列(価格が入力された列)の値を表示する」という意味になります。
このように、XLOOKUP関数を使えば、複雑な操作なしに、必要な情報を素早く見つけ出すことができるのです。
2. なぜXLOOKUPがすごい? VLOOKUP、HLOOKUPとの決定的な違い
従来のVLOOKUP関数やHLOOKUP関数も、データ検索にはよく使われてきました。しかし、XLOOKUP関数は、これらの関数に比べてより柔軟で、より便利な点がたくさんあります 。
検索方向の自由度:縦横どちらでもOK!
VLOOKUP関数は、検索したいデータが表の左端の列にないと使えませんでしたし、HLOOKUP関数は、検索したいデータが表の一番上の行にないと使えませんでした 。
しかし、XLOOKUP関数は、検索範囲と戻り範囲を自由に指定できるため、データの配置を気にする必要がありません!縦方向の検索はもちろん、横方向の検索も、どちらも得意なんです 。
検索範囲と戻り範囲を別々に指定できる安心感
VLOOKUP関数では、検索する範囲と結果を表示する範囲をまとめて指定する必要がありましたが、XLOOKUP関数では、検索する列(行)と、結果を表示する列(行)を別々に指定できます 。
これにより、表の途中に列や行を挿入・削除しても、数式が自動的に調整され、エラーが起こりにくいというメリットがあります 。
デフォルトで完全一致! 探したいデータだけを正確に
VLOOKUP関数の初期設定では、完全に一致するデータが見つからなくても、近い値を表示してしまう「近似一致」という設定になっています。これは、意図しない結果を招く可能性がありました 。
一方、XLOOKUP関数は、初期設定で「完全一致」なので、探しているデータが正確に見つかった時だけ結果を表示してくれます 。
エラー処理もスマートに! データが見つからない時の表示を自由に
VLOOKUP関数でデータが見つからなかった場合、「#N/A」というエラーが表示されてしまい、少し分かりにくいですよね 。
XLOOKUP関数では、オプションの引数で、データが見つからなかった場合に表示するメッセージを自由に設定できます 。例えば、「該当なし」や「データが見つかりません」といった、より親切なメッセージを表示させることができます 。
その他の便利な機能も満載!
XLOOKUP関数には、上記以外にも、
- 近似一致の検索方法を細かく指定できる(検索値より小さい次の値、または大きい次の値を検索するなど)
- ワイルドカード文字(*や?)を使ったあいまい検索ができる
- 検索の方向を最初からだけでなく、最後から指定できる(重複データがある場合に便利)
- 複数の値を一度に返すことができる
など、ビジネスの現場で役立つ様々な機能が搭載されています。
特徴 | VLOOKUP/HLOOKUP | XLOOKUP |
---|---|---|
検索方向 | VLOOKUP: 右方向のみ、HLOOKUP: 下方向のみ | 左右、上下双方向可能 |
検索列/行の制約 | VLOOKUP: 左端列、HLOOKUP: 最上行に検索値が必要 | 制約なし |
戻り値の指定 | 列番号または行番号で指定 | 戻り範囲を直接指定 |
デフォルトの照合モード | 近似一致 | 完全一致 |
エラー処理 | 別途関数が必要 | 見つからない場合 引数で指定可能 |
複数値の返し方 | 複数の関数が必要 | 戻り範囲に複数列/行を指定することで可能 |
列/行の挿入/削除の影響 | 受けやすい | 受けにくい |
3. XLOOKUP関数をもっと使いこなす! 引数の詳細とビジネス活用例
XLOOKUP関数をさらに活用するために、それぞれの引数の意味と、ビジネスの現場でどのように役立つのかを具体的に見ていきましょう。
(例)以下のような商品リストの表があるとします。
3.1. 検索値(lookup_value):探したいものは何ですか?
検索値は、あなたが探したいデータそのものです 。これは、セルに入力された値を参照することもできますし、直接テキストや数値を入力することも可能です 。
商品コード "A102" に対応する商品名を取得したい場合、XLOOKUP関数は次のようになります。
=XLOOKUP("A102", A2:A4, B2:B4)
ビジネス活用例:
- 顧客IDを入力して、その顧客の情報を検索する
- 商品名の一部を入力して、関連商品を検索する(ワイルドカード検索と組み合わせる)
- 特定の日付の売上データを検索する
3.2. 検索範囲(lookup_array):どこから探しますか?
検索範囲は、検索値を探す場所を指定します 。通常は、特定の列や行の範囲を指定します 。
ビジネス活用例:
- 顧客リストの顧客名が入力されている列
- 商品リストの商品コードが入力されている列
- 売上データの日付が入力されている列
3.3. 戻り範囲(return_array):見つかったら何を返しますか?
戻り範囲は、検索範囲で検索値が見つかった場合に、対応する値を返す範囲を指定します 。検索範囲と同じ行数または列数である必要があります 。
ちなみに『価格』の値を返したいときは検索範囲を変更します。
ビジネス活用例:
- 顧客リストの電話番号や住所が入力されている列
- 商品リストの商品名や価格が入力されている列
- 売上データの売上額が入力されている列
3.4. [見つからない場合](if_not_found):もし見つからなかったら?
このオプションの引数では、検索値が検索範囲で見つからなかった場合に返す値を指定できます 。省略すると、「#N/A」エラーが表示されます 。
ビジネス活用例:
- 顧客リストに該当する顧客がいなかった場合に「顧客データが見つかりません」と表示する
- 商品リストに該当する商品コードがなかった場合に「商品コードが無効です」と表示する
- 売上データに該当する日付のデータがなかった場合に「該当するデータはありません」と表示する
3.5. [照合モード](match_mode):どのように探しますか?
このオプションの引数では、検索値と検索範囲の照合方法を指定します 。
- 0(完全一致): 検索値と完全に一致する値を探します(初期設定) 。
- -1(完全一致または次の小さい項目): 完全一致する値がない場合、検索値より小さい次の最も大きい値を返します(検索範囲は昇順にソートされている必要があります) 。
- 1(完全一致または次の大きい項目): 完全一致する値がない場合、検索値より大きい次の最も小さい値を返します(検索範囲は昇順にソートされている必要があります) 。
- 2(ワイルドカード文字一致): 検索値にワイルドカード文字(*、?、~)を使って部分一致検索を行います 。
ビジネス活用例:
- 0(完全一致): 正確な顧客名や商品コードで検索したい場合
- -1または1(近似一致): 成績のスコアに応じてランクを決定する場合や、価格帯に応じて割引率を適用する場合など(範囲検索)
- 2(ワイルドカード文字一致): 商品名の一部しか分からない場合に、関連商品を検索したい場合
3.6. [検索モード](search_mode):どこから検索しますか?
このオプションの引数では、検索範囲内での検索の方向を指定します 。
- 1(最初から検索): 検索範囲の最初から最後に向かって検索します(初期設定) 。
- -1(最後から検索): 検索範囲の最後から最初に向かって検索します(重複データがある場合に、最後のデータを見つけたい場合に便利) 。
- 2(昇順バイナリ検索): 検索範囲が昇順にソートされていることを前提として、高速な検索を行います 。
- -2(降順バイナリ検索): 検索範囲が降順にソートされていることを前提として、高速な検索を行います 。
ビジネス活用例:
- 1(最初から検索): 通常のデータ検索
- -1(最後から検索): 最新の更新履歴や、最後に登録された顧客情報などを取得したい場合
4. あいまい検索も得意! ワイルドカード文字(*、?)の活用
XLOOKUP関数の[照合モード]を「2」に設定すると、ワイルドカード文字を使って、あいまいな条件でも目的のデータを見つけることができます 。
- *(アスタリスク): 任意の数の文字を表します。「商品*」と検索すれば、「商品A」「商品B123」「商品」など、「商品」で始まるすべてのデータが対象になります 。
- ?(クエスチョンマーク): 任意の1文字を表します。「商品?」と検索すれば、「商品1」「商品A」など、「商品」の後に1文字続くデータが対象になります 。
ビジネス活用例:
- 顧客名の一部しか分からない場合に、顧客リストから該当する顧客を探す
- 商品名の一部を入力するだけで、関連商品をリストアップする
- スペルミスがありそうなデータでも、柔軟に検索する
5. 範囲検索でさらに便利! 近似一致検索の活用
XLOOKUP関数の[照合モード]を「-1」または「1」に設定すると、完全に一致するデータがない場合に、近い値を探すことができます 。
- -1(完全一致または次の小さい項目): 例えば、売上目標に対して達成率が設定されている場合に、ある達成率以下の最も近い目標値を検索する
- 1(完全一致または次の大きい項目): 例えば、購入金額に応じて送料が設定されている場合に、ある購入金額以上の最も近い送料を検索する
ビジネス活用例:
- 顧客の購入金額に応じて、自動的に割引率を適用する
- 従業員のスキルレベルに応じて、担当できる業務を振り分ける
- 在庫数に応じて、発注の必要性を判断する
6. 複数の情報をまとめて取得! 複数値を同時に返す方法
XLOOKUP関数は、一度の関数で複数の列や行の値を同時に返すことができます 。例えば、顧客IDを入力するだけで、その顧客の名前、電話番号、住所などをまとめて表示させることができます。
ビジネス活用例:
- 顧客リストから、必要な情報をまとめてレポートに出力する
- 商品リストから、商品名、価格、在庫数を一覧で表示する
- 売上データから、特定の商品に関する複数の月の売上額をまとめて表示する
7. もうINDEX/MATCHで悩まない! よりシンプルになったXLOOKUP
以前は、VLOOKUP関数では難しい検索を行う場合に、INDEX関数とMATCH関数を組み合わせて使う必要がありました。しかし、XLOOKUP関数は、INDEX/MATCH関数よりもシンプルで分かりやすい構文で、同様の高度な検索を実現できます 。
複雑な数式に頭を悩ませる必要はもうありません。XLOOKUP関数を使えば、より直感的に、そして簡単に、必要なデータを手に入れることができます。
8. 【まとめ】XLOOKUPであなたのビジネスをさらに効率化!
XLOOKUP関数は、従来のVLOOKUP関数やHLOOKUP関数の課題を解決し、より柔軟で、より強力なデータ検索を可能にする、まさにビジネスの現場で働く私たちにとって、頼りになる新しい仲間です 。
今回ご紹介したように、XLOOKUP関数を使いこなせば、
- データ検索時間の劇的な短縮
- 入力ミスやエラーの削減
- より正確で効率的なデータ分析
- 複雑な条件でのデータ抽出も簡単に
といったメリットを享受できます。
まだXLOOKUP関数を使ったことがないという方も、ぜひこの機会に試してみてはいかがでしょうか?きっと、その便利さに驚くはずです。
ただし、XLOOKUP関数は、比較的新しいバージョンのExcel(Microsoft 365、Excel 2021以降)でのみ利用可能です 。なんと、この便利なXLOOKUP関数は、Excelだけでなく、Googleスプレッドシートでも使用できるんです 。もし古いバージョンのExcelをお使いの場合は、この機会に最新版へのアップグレードを検討するのも良いかもしれません。
さあ、XLOOKUP関数をあなたのビジネスに取り入れて、よりスマートで効率的な働き方を実現しましょう!