Excel

Excel(エクセル)のHLOOKUP関数で横方向にデータを検索しよう!【基本から応用まで】

Excelでデータを管理していると、表の横方向にデータを検索したい場面があります。そんなときに便利なのがHLOOKUP関数です。HLOOKUP関数は、指定した行の中から検索したい値を探し、その値に対応する別の行のデータを返します。この記事では、HLOOKUP関数の基本的な使い方から、応用的な使い方まで詳しく解説します。

HLOOKUP関数とは?

HLOOKUP関数は、Excelで指定した範囲の1行目から検索値を探し、その値に対応する行のデータを取得するための関数です。HLOOKUP関数は、表の横方向にデータを検索する場合に役立ちます。縦方向に検索するVLOOKUP関数と似ていますが、HLOOKUPは横方向の検索に特化しています。

HLOOKUP関数の基本的な構文

=HLOOKUP(検索値, 範囲, 行番号, [検索方法])

  • 検索値: 検索したい値を指定します。
  • 範囲: 検索するデータ範囲を指定します。1行目から指定した範囲で検索が行われます。
  • 行番号: 検索値が見つかった列の中で、返したいデータがある行の番号を指定します。検索範囲の1行目を1として数えます。
  • [検索方法](省略可): 完全一致の場合は「FALSE」、近似一致の場合は「TRUE」を指定します。省略した場合は「TRUE」(近似一致)になります。

HLOOKUP関数の実際の例

たとえば、次のような表があったとします。

A B C
商品コード A101 A102 A103
商品名 ペン ノート 消しゴム
価格 100円 200円 50円

この表で、商品コード「A102」に対応する商品名を取得するには、次のようにHLOOKUP関数を使用します。

=HLOOKUP(“A102”, A1:C3, 2, FALSE)

この場合、ノートが返されます。商品コード「A102」に対応する商品名が2行目にあるためです。

A B C
A101 A102 A103
ペン ノート 消しゴム
100円 200円 50円
=HLOOKUP(“A102”, A1

, 2, FALSE) → ノート

HLOOKUP関数の応用例

価格を検索する

上記の表で商品コード「A103」に対応する価格を取得するには、次のように行番号に「3」を指定します。

=HLOOKUP(“A103”, A1:C3, 3, FALSE)

この場合、50が返されます。商品コード「A103」に対応する価格が3行目にあるためです。

近似一致での検索

HLOOKUP関数では、近似一致による検索も可能です。次のような点数と成績の対応表がある場合、点数に基づいて成績を検索することができます。

A B C D E
点数 0 60 70 80 90
成績 F D C B A

点数「75」の成績を検索するには、次のように入力します。

=HLOOKUP(75, A1:E2, 2, TRUE)

この場合、Cが返されます(70点以上80点未満が「C」に該当するため)。近似一致は、範囲内で一番近い値を返しますが、検索する範囲は昇順に並んでいる必要があります。

別シートからの検索

HLOOKUP関数を使って、別のシートからデータを検索することもできます。例えば、シート「商品データ」にある商品コードから対応する価格を検索する場合、次のように指定します。

=HLOOKUP(“A101”, ‘商品データ’!A1:C3, 3, FALSE)

これにより、シート「商品データ」から商品コード「A101」に対応する価格を取得できます。

データが見つからない場合の対応

HLOOKUP関数で検索値が見つからない場合、通常は**#N/Aエラー**が表示されます。これを防ぐためには、IFERROR関数を使ってエラーメッセージを処理することができます。例えば、商品コードが見つからなかった場合に「該当なし」と表示するには、次のように入力します。

=IFERROR(HLOOKUP(“A104”, A1:C3, 2, FALSE), “該当なし”)

これにより、検索値が見つからない場合は「該当なし」と表示されます。

複数列からデータを検索

HLOOKUP関数を使って、1行目から検索値を探し、複数行からデータを取得することもできます。たとえば、ある列のデータに対応する複数の項目(例えば、商品名と価格)を同時に取得する場合に便利です。

=HLOOKUP(“A102”, A1:C3, 2, FALSE)  // 商品名を取得

=HLOOKUP(“A102”, A1:C3, 3, FALSE)  // 価格を取得

HLOOKUP関数の便利な豆知識

VLOOKUP関数との違い

HLOOKUP関数は、データを横方向に検索しますが、VLOOKUP関数縦方向にデータを検索します。HLOOKUP関数は、データが横に並んでいる表を使って検索したい場合に便利です。VLOOKUPとHLOOKUPは基本的な動作が似ていますが、検索方向が異なるため、適切な場面で使い分けましょう。

行番号の指定に注意

行番号は、検索範囲内で何番目の行から値を取得するかを示します。HLOOKUP関数では、指定した範囲の1行目を1行目と数え、2行目、3行目と続きます。範囲外の行番号を指定すると**#REF!エラー**が発生するため、指定する行番号には注意が必要です。

近似一致の使用場面

近似一致(TRUE)を使用する場合、検索範囲内の値は昇順に並んでいる必要があります。例えば、成績や価格帯など、範囲内で最も近い値を取得する場面で近似一致が便利です。ただし、データが正しく並んでいないと、正しい結果が返されないことがあるので注意が必要です。

IFERROR関数と組み合わせたエラー処理

IFERROR関数を組み合わせることで、HLOOKUP関数がエラーを返した場合にエラーメッセージをカスタマイズできます。これにより、データが存在しない場合でも、見栄えの良い結果を表示することができます。特に大きなデータベースや、不完全なデータを扱う場合に有効です。

HLOOKUP関数のよくあるエラーと対処法

#N/Aエラー

#N/Aエラーは、検索値が範囲内で見つからない場合に発生します。これを防ぐには、検索値が正しく入力されているか、範囲が正しく指定されているかを確認し、見つからない場合の処理をIFERROR関数で指定します。

=IFERROR(HLOOKUP(“A104”, A1:C3, 2, FALSE), “該当なし”)

#REF!エラー

#REF!エラーは、指定した行番号が範囲外の場合に発生します。行番号が指定した範囲内で正しいかを確認しましょう。たとえば、3行しかない範囲に「4」を指定するとエラーが発生します。

#VALUE!エラー

#VALUE!エラーは、範囲や行番号が無効である場合に発生します。例えば、行番号が数値以外で指定されていたり、範囲が正しく指定されていない場合にエラーが発生します。範囲と行番号が正しく設定されているかを確認しましょう。

まとめ

ExcelのHLOOKUP関数は、横方向にデータを検索して対応するデータを取得するための便利なツールです。商品コードや成績など、横方向に並んだデータから必要な情報を効率よく検索できます。VLOOKUP関数とともに、適切な場面で使い分けることで、データ処理をさらに効率化することが可能です。

HLOOKUP関数を使いこなして、Excelでのデータ検索をさらに便利にしましょう!