Excelのデータ検索で欠かせないVLOOKUP関数、HLOOKUP関数、そして最新のXLOOKUP関数。
これらの関数は、それぞれ異なる特性を持ち、用途や使いやすさが異なります。
本記事では、各関数の特徴や違い、選び方、そして実際の使い方を詳しく解説します。
初心者から上級者まで必見の内容です!
VLOOKUP関数とは?基本機能と使い方
VLOOKUP関数は、指定した値を基に縦方向にデータを検索し、対応する値を取得するための便利な関数です。
VLOOKUPは、表形式のデータで縦方向に検索する際に非常に役立ちます。特定の値に関連する情報を簡単に取得できるため、データ分析やレポート作成に欠かせません。
VLOOKUPは簡単で汎用性が高いため、多くの場面で利用されています。
以下のようなデータを例に考えてみます:

「商品コード」に基づいて価格を取得するには、以下の数式を使用します:
=VLOOKUP(“A001”, B3:D5, 3, FALSE)

ノートの商品コード(A001)から価格 \500を取得することができました。
VLOOKUP関数については下の記事でも詳しく解説しています!
HLOOKUP関数とは?用途とVLOOKUPとの違い
HLOOKUP関数は、指定した値を基に横方向にデータを検索し、対応する値を取得します。
HLOOKUPがVLOOKUPほど頻繁に使われない理由の一つは、実際の業務ではデータが縦方向に整列している場合が多いからです。
しかし横方向にデータが展開されている特定の状況、
例えば、横に並んだ年度ごとの売上データから特定の年度の値を取得するケースが挙げられます。
このような特定のニーズに応じて使用することで、HLOOKUPは有用なツールとなり得ます。
VLOOKUPが縦方向の検索に特化しているのに対し、HLOOKUPは横方向にデータを検索します。
このため、データが横に展開されている場合に適しています。
以下のようなデータがあるとします:

商品コード「A002」に基づいて価格を取得するには、以下の数式を使用します:
=HLOOKUP(“A002”, A1:D3, 3, FALSE)

ペンの商品コード(A002)から価格\100を取得することができました。
HLOOKUPは、特定の行から値を検索する場面で非常に便利です。例えば、アンケート結果の集計や、横に展開されたスプレッドシートのデータ分析に適しています。
ただし、HLOOKUPは利用頻度が低く、XLOOKUPやINDEX/MATCH関数の方がより汎用性があります。そのため、HLOOKUPを使うべきかどうかは慎重に検討しましょう。
INDEX/MATCH関数との比較: INDEX関数とMATCH関数を組み合わせることで、HLOOKUPよりも柔軟な検索が可能です。これにより、横方向だけでなく縦横複合の検索も容易になります。
INDEX/MATCH関数の詳細な解説は以下↓
XLOOKUP関数の登場で何が変わった?
XLOOKUP関数は、VLOOKUPとHLOOKUPの両方を統合したような新しい関数で、柔軟性が大幅に向上しています。
XLOOKUPは、縦横問わず検索できるうえ、エラー処理や部分一致検索が可能です。さらに、列の位置に制約されないため、より自由度の高い検索ができます。
以下のようなデータを使用します:

商品コード「A003」に基づいて価格を取得する場合:
=XLOOKUP(“A002”, A2:A4, C2:C4)
上記で消しゴムの商品コード(A003)から価格\50を取得することができました。
XLOOKUPの最大の特徴は、検索範囲と戻り値範囲を柔軟に指定できる点です。
また、エラーが発生した場合のデフォルト値を簡単に設定できるため、業務効率が大幅に向上します。
XLOOKUPはExcel2019以降で利用可能なため最新バージョンを使用している場合に特におすすめです。
VLOOKUP・HLOOKUP・XLOOKUPのメリットとデメリット
各関数の特徴を理解し、適切に選ぶことが重要です。
| 関数 | メリット | デメリット |
|---|---|---|
| VLOOKUP | 簡単で使いやすい | 列番号固定のため柔軟性が低い |
| HLOOKUP | 横方向のデータ検索が可能 | 使用頻度が低く代替手段が多い |
| XLOOKUP | 縦横両方向検索が可能で柔軟性が高い | 利用可能なExcelバージョンが限定される |
自分のニーズや環境に合った関数を選択しましょう。
ケース別:どの関数を選ぶべきか?
使用シーンごとに最適な関数を選択することで、作業効率が向上します。
たとえば頻繁にデータが更新される場合はXLOOKUPを選ぶことで、柔軟な検索とエラー処理が可能です。
一方で比較的シンプルな縦方向の検索にはVLOOKUP、横方向の検索が必要な場合にはHLOOKUPを利用するのが効果的です。
これらの選択基準を明確にすることで、初心者でも適切な関数を選べるようになります。
- 縦方向の検索が中心:VLOOKUP
- 横方向のデータを扱う:HLOOKUP
- 柔軟性とエラー処理が重要:XLOOKUP
顧客データの検索や商品の在庫管理にはVLOOKUPを、アンケート結果の集計にはHLOOKUPを活用するなど、状況に応じた使い分けがポイントです。
XLOOKUPで実現する高度な検索の活用法
XLOOKUPは、条件付き検索や複数条件検索も可能なため、より高度なデータ分析に活用できます。
XLOOKUPは、単一の条件に加えて複数の条件を設定することで、複雑なデータセットから特定の情報を抽出できます。
また、「デフォルト値」の指定機能により、条件に合致しない場合の値を簡単に設定可能です。
以下のようなデータセットを使用します:

「営業部の給与が30万円以上」の条件で名前を取得するには:
=XLOOKUP(1, (C2:C4=”営業部”)*(D2:D4>=300000), B2:B4, “該当なし”)
結果:山田太郎
この数式の構成について詳しく説明します:
検索値(1):
- 第一引数として指定される値です。
この場合、XLOOKUPは “1” を検索するよう設定されています。 - 条件式 “(C2:C4=”営業部”)*(D2:D4>=300000)” の結果が計算され、配列内で “1” と一致する行が検索されます。
検索範囲((C2:C4=”営業部”)*(D2:D4>=300000)):
- この部分は複数条件を表現するために用いられています。
- “C2:C4=”営業部”” は、C列が”営業部”に一致するかを確認します。
この条件は TRUE または FALSE を返します。 - “D2:D4>=300000” は、D列が300,000以上であるかを確認します。
この条件も TRUE または FALSE を返します。 - それぞれの条件の結果(TRUE=1, FALSE=0)が掛け合わされ、両方の条件を満たす行が “1” となります。
戻り値範囲(B2:B4):
- この範囲は、検索条件を満たした行の値を返す対象となる範囲です。
この場合、B列の値(名前)が返されます。
見つからない場合の値(”該当なし”):
- 条件を満たすデータが見つからない場合に返される値を指定します。
この例では、”該当なし” という文字列が表示されます。
このように、XLOOKUPの高度な機能を活用すれば、データ分析の幅が広がります。
まとめ:Excel関数を使い分けて作業効率をアップ
VLOOKUP、HLOOKUP、XLOOKUPを適切に使い分けることで、Excel作業の効率が格段にアップします。
各関数の特徴や違いを理解し、正確に使いこなすことで、より高度なデータ処理が可能になります。
日々の業務でこれらの関数を活用し、作業時間を短縮したり、エラーを減らすことができます。
基本を押さえた上で、少しずつ応用力を高めていきましょう。



