ExcelのXLOOKUP関数は、データを検索し、指定した範囲から一致する値を取得する便利な関数です。しかし、「検索範囲と戻り範囲が同じ列でも動作するか?」という疑問を持つ方も多いでしょう。この記事では、XLOOKUP関数の挙動と、検索範囲と戻り範囲が同じ列であっても正常に動作する理由について解説します。
1. XLOOKUP関数の基本構文
まず、XLOOKUP関数の基本構文を確認しましょう。XLOOKUP関数は次の形式で使用します。
=XLOOKUP(検索値, 検索範囲, 戻り範囲)
ここで、検索値は検索する値、検索範囲はその値を探す範囲、戻り範囲は一致した値に対応する結果を取得する範囲を指定します。XLOOKUP関数は、指定された検索範囲から検索値を探し、対応する戻り範囲の値を返します。
2. 検索範囲と戻り範囲が同じ列でも動作する理由
検索範囲と戻り範囲が同じ列であっても、XLOOKUP関数は正常に動作します。これは、XLOOKUP関数が、検索範囲から検索値を見つけた位置に基づいて、戻り範囲内の対応する値を返すからです。
例えば、検索範囲と戻り範囲が同じ列であっても、XLOOKUPは検索値の位置を特定し、その位置に一致する戻り範囲の値(同じ列の値)を返します。このため、データが同じ列にある場合でも問題なく動作します。
3. 実際の使い方例
具体的な使用例を見てみましょう。例えば、以下のようなデータがあるとします。
| 商品 | 価格 |
|---|---|
| リンゴ | 100 |
| バナナ | 120 |
| オレンジ | 150 |
このデータを使って、XLOOKUP関数を使用して、商品名に対応する価格を検索します。以下の数式を入力します。
=XLOOKUP(“リンゴ”, A2:A4, B2:B4)
この場合、検索値は「リンゴ」、検索範囲はA2:A4(商品名列)、戻り範囲はB2:B4(価格列)です。この数式は、「リンゴ」の価格(100)を返します。
もし検索範囲と戻り範囲が同じ列(例えば、A2:A4)であった場合でも、XLOOKUP関数は「リンゴ」の位置を特定し、その位置にある価格(同じ列内のデータ)を返します。
4. 並び順が異なる場合の使い方
質問のように、検索値の列と検索範囲・戻り範囲の列には同じデータが入っているが順番が逆の場合でも、XLOOKUP関数は正しく動作します。XLOOKUP関数はデータの順番に関係なく、検索値に一致するデータを正確に返します。
例えば、商品名と価格が逆順になっていた場合でも、XLOOKUPは「リンゴ」の価格を正しく返します。この特徴により、データが並び替えられていても問題なく検索できます。
5. まとめ
XLOOKUP関数は、検索範囲と戻り範囲が同じ列でも正常に動作します。検索値の位置に基づいて、戻り範囲内の対応する値を返すため、列が同じであっても問題なく利用できます。さらに、並び順が異なっても正確に値を返すため、柔軟なデータ操作が可能です。XLOOKUP関数を使いこなすことで、効率的なデータ検索が実現できます。


コメント