x001|ExcelでXLOOKUP関数を使用してデータを検索する方法

ExcelのXLOOKUP関数は、指定したキーを検索し、対応する値を返すための強力なツールです。従来のVLOOKUP関数やHLOOKUP関数に代わるもので、より柔軟で簡単に使用できるのが特徴です。このブログでは、XLOOKUP関数の基本的な使い方と具体的な例を交えて紹介します。

目次

ExcelでXLOOKUP関数を使用してデータを検索する方法

XLOOKUP関数の基本

XLOOKUP関数は、指定した範囲内で検索値を探し、その結果に基づいて対応する範囲から値を返します。

構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
  • 検索値: 検索する値
  • 検索範囲: 検索する範囲
  • 戻り範囲: 値を返す範囲
  • 見つからない場合: (オプション) 見つからない場合に返す値
  • 一致モード: (オプション) 完全一致または部分一致を指定
  • 検索モード: (オプション) 検索の方向を指定

基本例

以下の例では、範囲A2:A10の中で検索値「Apple」を探し、対応するB2:B10の値を返します:

=XLOOKUP("Apple", A2:A10, B2:B10)

応用例

例1: 一致モードと検索モードの使用

次の数式では、範囲A2:A10の中で「Banana」を探し、対応するB2:B10の値を返します。見つからない場合は「Not Found」を返し、完全一致を指定し、上から下に検索します:

=XLOOKUP("Banana", A2:A10, B2:B10, "Not Found", 0, 1)

一致モード

一致モードは、検索値が検索範囲内でどのように一致するかを指定します。以下のオプションがあります:

  • 0 (完全一致): 検索値が検索範囲内で完全に一致する位置を返します。これはデフォルトの設定です。
  • -1 (完全一致または次に小さい値): 検索値と完全に一致するか、次に小さい値を返します。検索範囲は昇順に並んでいる必要があります。
  • 1 (完全一致または次に大きい値): 検索値と完全に一致するか、次に大きい値を返します。検索範囲は昇順に並んでいる必要があります。
  • 2 (ワイルドカード一致): 検索値としてワイルドカード文字(例えば、*?)を使用して、一部一致を許可します。

以下の数式では、「Banana」を検索範囲A2:A10で完全一致(0)で検索し、B2:B10の値を返します:

=XLOOKUP("Banana", A2:A10, B2:B10, "Not Found", 0)

この数式では、一致する値が見つからない場合、「Not Found」を返します。

検索モード

検索モードは、検索がどの方向で行われるかを指定します。以下のオプションがあります:

  • 1 (先頭から検索): デフォルトの設定で、上から下へ検索します。
  • -1 (末尾から検索): 下から上へ検索します。
  • 2 (2進探索昇順): 昇順に並べ替えられた範囲での2進探索を行います。高速な検索を実現します。
  • -2 (2進探索降順): 降順に並べ替えられた範囲での2進探索を行います。

以下の数式では、「Banana」を検索範囲A2:A10で検索し、見つからない場合に「Not Found」を返し、上から下へ検索します(1):

=XLOOKUP("Banana", A2:A10, B2:B10, "Not Found", 0, 1)

応用例:シートをまたいだ検索

INDIRECT関数を組み合わせることで、他のシートのセルを参照することもできます。例えば、シート「Sheet1」のセルA1に「Sheet2!A2:A10」と入力し、シート「Sheet2」の範囲A2:A10にデータがある場合、次のようにしてシートをまたいだ検索が可能です:

=XLOOKUP("Orange", INDIRECT("Sheet2!A2:A10"), INDIRECT("Sheet2!B2:B10"))

サンプルデータ

以下に、XLOOKUP関数の一致モードと検索モードの使用例を示したサンプルデータを提供します。このデータをExcelにコピーして、関数の練習に使用してください。

Excel形式データダウンロード

以下は、Excelデータですので、ダウンロードして練習などに使用してください。

Excel-x001-1.xlsx (ダウンロード)

メインシート(Excel列名との対応)

Sheet1

ABCD
1製品名価格在庫数結果
2Apple10050=XLOOKUP(“Apple”, A2:A10, B2:B10)
3Banana8030=XLOOKUP(“Banana”, A2:A10, B2:B10, “Not Found”, 0, 1)
4Orange6020
5Pineapple15025
6Mango12040
7Grapes9035
8Kiwi11045
9Melon20015
10Peach14025

説明

このサンプルデータでは、特定の製品名に基づいてデータを検索し、価格を表示する方法を示しています。以下の数式を使用して、特定の条件に一致するデータを取得します:

  • 基本例: =XLOOKUP(“Apple”, A2:A10, B2:B10) は、A2:A10の中で「Apple」を検索し、対応するB2:B10の値を返します。
  • 応用例: =XLOOKUP(“Banana”, A2:A10, B2:B10, “Not Found”, 0, 1) は、「Banana」が見つからない場合に「Not Found」を返し、完全一致を指定します。

CSV形式

以下は、上記のデータをカンマ区切りで記載したものです。このデータをコピーしてExcelに貼り付けて使用してください。

"製品名","価格","在庫数","結果"
"Apple","100","50","=XLOOKUP(""Apple"", A2:A10, B2:B10)"
"Banana","80","30","=XLOOKUP(""Banana"", A2:A10, B2:B10, ""Not Found"", 0, 1)"
"Orange","60","20",""
"Pineapple","150","25",""
"Mango","120","40",""
"Grapes","90","35",""
"Kiwi","110","45",""
"Melon","200","15",""
"Peach","140","25",""

まとめ

ExcelでXLOOKUP関数を使用してデータを検索する方法について説明しました。XLOOKUP関数は、指定した検索値を範囲内で検索し、対応する値を返すために非常に便利です。このブログを参考にして、Excelでのデータ検索を効率的に行ってください。


このブログが役に立ちましたら幸いです。さらにサポートが必要なことや質問があれば、お知らせください。Happy Excel-ing! 😊

他にもサポートが必要であれば、どんなことでもお知らせください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次