【横方向の検索ならお任せ!】HLOOKUP関数の使い方を徹底解説!VLOOKUPとの違いや具体例も

Excel

Excelの数ある関数の中でも、データを効率よく検索・抽出する際に欠かせないのが「検索/行列関数」と呼ばれる関数です。

その中でも、特に知名度が高いのが「VLOOKUP関数」ですよね。

縦方向の検索でよく使われるVLOOKUP関数は、もうマスターしているという方も多いかもしれません。

でも、「HLOOKUP関数」という関数はご存じでしょうか?

VLOOKUP関数と名前が似ているけれど、具体的にどう使うのか、VLOOKUP関数と何が違うのか、よくわからないという方もいらっしゃるかもしれませんね。

実はHLOOKUP関数は、横方向に並んだデータから必要な情報を探し出すときに、とっても便利な関数なんです!📊

でんちゃん
でんちゃん

この記事では、HLOOKUP関数の基本的な使い方から、VLOOKUP関数との違い具体的な使用例、そして使う上での注意点まで、HLOOKUP関数をマスターするための情報をぎゅっと凝縮してお届けします。HLOOKUP関数を使いこなして、日々の業務をさらに効率化していきましょう!

HLOOKUP関数ってどんな関数? VLOOKUP関数との違いも解説

まずは、HLOOKUP関数がどんな関数なのか、そしてVLOOKUP関数との違いについて見ていきましょう。

HLOOKUP関数は「横」に検索する関数

HLOOKUP関数の「H」は「Horizontal(水平)」の頭文字を取っています。

その名の通り、HLOOKUP関数は

指定した範囲の1行目から検索値を探し、その行の右方向にある指定した行のデータを取り出す」ことができる関数です。

商品表から横方向に検索する際などに役立ちます!

でんちゃん
でんちゃん

例えば、商品の管理表で「商品名」が横一列に並んでいて、そこから「価格」や「在庫数」などの情報を引き出したい場合にHLOOKUP関数が活躍します

VLOOKUP関数・XLOOKUP関数との違いは「検索方向」と「柔軟性」

一方、皆さんもよくご存じのVLOOKUP関数の「V」は「Vertical(垂直)」の頭文字です。

VLOOKUP関数は

指定した範囲の1列目から検索値を探し、その列の下方向にある指定した列のデータを取り出す」関数です。

そして、VLOOKUP関数やHLOOKUP関数の後継として登場したのがXLOOKUP関数です。

XLOOKUP関数は、

VLOOKUP関数やHLOOKUP関数よりも柔軟性が高く、縦方向・横方向どちらの検索にも対応でき、検索列(行)と結果列(行)を別々に指定できるなど、より多機能な関数です。

HLOOKUP関数、VLOOKUP関数、XLOOKUP関数の主な違いをまとめたのが以下の表です。

関数名検索方向検索対象値の取り出し方特徴
HLOOKUP関数横方向(水平)範囲の1行目指定した行のデータ検索値が常に範囲の1行目にある必要がある
VLOOKUP関数縦方向(垂直)範囲の1列目指定した列のデータ検索値が常に範囲の1列目にある必要がある
XLOOKUP関数縦・横どちらも可能指定した検索範囲指定した戻り範囲のデータ検索範囲と戻り範囲を別々に指定でき、柔軟性が高い。エラー処理や近似一致のオプションも豊富。

どちらの関数を使うべきかは、元データの配置や、どのような検索を行いたいかによって変わってきます。

横方向にデータが並んでいる場合はHLOOKUP関数縦方向にデータが並んでいる場合はVLOOKUP関数、そしてより柔軟な検索やエラー処理を行いたい場合はXLOOKUP関数、と覚えておくと良いでしょう。

でんちゃん
でんちゃん

VLOOKUP関数について知りたい方は以下のブログを参考にしてみてください!

でんちゃん
でんちゃん

XLOOKUP関数の使い方やVLOOKUP関数との比較について知りたい方は以下のブログを参考にしてみてください!


HLOOKUP関数の基本的な使い方

それでは、HLOOKUP関数の具体的な使い方を見ていきましょう。HLOOKUP関数は次の書式で記述します。

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

それぞれの引数について詳しく見ていきましょう。

  • 検索値(lookup_value): 検索したい値を指定します。セル参照(例:A1)や直接入力(例:"商品A"100)などで指定します。
  • 範囲(table_array): 検索の対象となるセル範囲を指定します。HLOOKUP関数は、この範囲の1行目から検索値を探します。検索範囲は、絶対参照(例:$A$1:$E$5)で指定することが一般的です。
  • 行番号(row_index_num): 「範囲」の先頭行を「1」としたときに、何行目のデータを取り出したいかを数値で指定します。例えば、3行目のデータを取り出したい場合は「3」と入力します。
  • 検索方法(range_lookup): 検索方法を指定します。
    • TRUE または 1近似一致(昇順に並べ替えられたデータで、検索値以下で最も近い値を探します。省略した場合はこちらが適用されます。)
    • FALSE または 0完全一致(検索値と完全に一致する値を探します。)

基本的には、完全一致でデータを探すことが多いため、FALSE」を指定することを強くおすすめします

HLOOKUP関数の使用例:商品価格の検索

それでは、具体的なデータを使ってHLOOKUP関数を使ってみましょう。

データ例

以下の商品別売上データがあるとします。

商品別売上データ

このデータを使って、「冷蔵庫」の「単価」をHLOOKUP関数で検索してみましょう。

  1. 検索値"冷蔵庫"(または冷蔵庫と入力されているセル、例:B1
  2. 範囲B1:E4(商品名から売上個数までの全データ範囲)
  3. 行番号2(「単価」は範囲の2行目にあるため)
  4. 検索方法FALSE(完全一致で検索)

これらの引数を使って関数を入力すると、次のようになります。

=HLOOKUP("冷蔵庫", B1:E4, 2, FALSE)
冷蔵庫の単価が一瞬で算出することが出来ました!

または、セル参照を使う場合は、

=HLOOKUP(C1, B1:E4, 2, FALSE)  'C1に"冷蔵庫"が入力されている場合
セル参照を用いても算出することが出来ますね!

結果として、「80000」が返されるはずです。

でんちゃん
でんちゃん

これで、「冷蔵庫」の単価を簡単に検索することができましたね!👍


HLOOKUP関数の実践的な使用例

ここからは、HLOOKUP関数をより実践的に活用する例をいくつかご紹介します。

使用例1:条件に合わせて複数の情報を検索する

先ほどのデータを使って、

今度は「商品名」を入力すると「単価」と「在庫数」が自動で表示されるようにしてみましょう。

データ例

先ほどと同じデータを使います。

商品別売上データ

検索用の入力欄と表示欄

検索用の入力欄と表示欄

I2(単価)に入力するHLOOKUP関数

=HLOOKUP(I1, $B$1:$E$4, 2, FALSE)
  • 検索値I1(入力された商品名)
  • 範囲$B$1:$E$4(商品名から売上個数までのデータ範囲。関数をコピーしてもずれないように絶対参照にします。)
  • 行番号2(単価は2行目)
  • 検索方法FALSE
単価の算出結果

I3(在庫数)に入力するHLOOKUP関数

=HLOOKUP(I1, $B$1:$E$4, 3, FALSE)
  • 検索値:I1(入力された商品名)
  • 範囲$B$1:$E$4(商品名から売上個数までのデータ範囲。絶対参照にします。)
  • 行番号3(在庫数は3行目)
  • 検索方法FALSE
在庫数の算出結果

でんちゃん
でんちゃん

これで、I1に「洗濯機」と入力すると、I2に「60000」、I3に「70」が自動で表示されるようになります。
便利な機能ですよね

使用例2:HLOOKUP関数とCOLUMN関数を組み合わせる

すもりーマン
すもりーマン

さっきの例で、行番号を毎回手で入力するのは少し手間だと感じたよ。

でんちゃん
でんちゃん

取得したい情報が多い場合は、関数をコピーするたびに行番号を修正する必要があるよね。そんな時に便利なのが、COLUMN関数(列番号を返す関数)と組み合わせる方法があるよ。

すもりーマン
すもりーマン

そんな方法があるのか!
教えてほしい!

HLOOKUP関数では「行番号」を指定しますが、実はROW関数(行番号を返す関数)と組み合わせることで、関数を右にコピーするだけで取得したい情報が自動的に変わるようにできます。

COLUMN関数とHLOOKUP関数を組み合わせた例 (ここではあえてCOLUMN関数ではなくROW関数を使います。HLOOKUP関数は「行番号」を指定するため、ROW関数を使います。)

例えば、B9セルに以下の関数を入力します。

=HLOOKUP($I$1,$B$1:$E$4,ROW(A2),FALSE)
  • 検索値$I$1(入力された商品名。列方向には固定したいので列の絶対参照にします。)
  • 範囲$B$1:$E$4(商品名から売上個数までのデータ範囲。絶対参照にします。)
  • 行番号ROW(A2)
    • ROW(A2)は「2」を返します。これが「単価」の行番号になります。
    • この式をB10にコピーすると、ROW(A3)となり「3」が返され、「在庫数」の行番号になります。
  • 検索方法FALSE

このようにROW(A2)のように指定することで、関数を下にコピーした時に自動的に行番号が変化し、複数の情報を効率的に取得できるようになります。

ROW関数を使ったHLOOKUP関数の例


HLOOKUP関数を使う上での注意点

HLOOKUP関数は非常に便利ですが、いくつか注意しておくべき点があります。

検索値は必ず「範囲」の1行目に!

HLOOKUP関数は、指定した「範囲」の1行目から検索値を探します。

もし検索値が1行目以外にある場合、正しく検索できません

でんちゃん
でんちゃん

必ず検索したい値が1行目にあることを確認してください。

完全一致は「FALSE」を指定する

「検索方法」の引数でFALSE(完全一致)を指定しないと、データが完全に一致しなくても近似値で結果が返ってくることがあります。

でんちゃん
でんちゃん

意図しない結果を避けるためにも、特別な理由がない限り「FALSE」を指定するようにしましょう。

複数の同じ検索値がある場合

もし「範囲」の1行目に同じ検索値が複数存在する場合、HLOOKUP関数は一番左(最初)に見つかった検索値に対応するデータを返します。右側にある同じ検索値のデータは無視されますので、注意が必要です。

でんちゃん
でんちゃん

重複するデータがある場合は、事前に整理しておくか、別の方法を検討しましょう!

#N/Aエラーが表示される場合

HLOOKUP関数を使用すると、「#N/A」というエラーが表示されることがあります。

これは、以下のような場合に発生します。

  • 検索値が「範囲」の1行目に見つからなかった場合
  • 検索値の入力ミス、誤字脱字がある場合
  • 検索値のデータ型が異なる場合(例:数値として入力されているのに文字列として検索しているなど)
  • 範囲の指定が間違っている場合

でんちゃん
でんちゃん

このようなエラーが出た場合は、上記の点を確認してみてください。
特に、全角・半角の違いや、余計なスペースが入っていないかなどをチェックしてみましょう。

検索範囲は絶対参照に!

関数を他のセルにコピーして使う場合、検索範囲(table_array)を絶対参照(例:$A$1:$E$5)で指定しないと、参照する範囲がずれてしまい、正しい結果が得られないことがあります。

でんちゃん
でんちゃん

F4キーを押すことで簡単に絶対参照に切り替えることが出来ます!
ぜひ活用してください。


まとめ:HLOOKUP関数を使いこなして業務効率アップ!

でんちゃん
でんちゃん

この記事では、ExcelのHLOOKUP関数の基本的な使い方から、VLOOKUP関数との違い、具体的な使用例、そして使う上での注意点までを詳しく解説しました。

HLOOKUP関数は、横方向にデータが配置されている表から必要な情報を効率的に検索・抽出できる、とても便利な関数です。

VLOOKUP関数と合わせて使いこなせるようになれば、データ処理の幅が広がり、日々の業務効率が格段にアップするはずです。

最初は少し難しく感じるかもしれませんが、実際に手を動かして様々なデータで試してみることで、すぐに慣れることができますよ。ぜひ、この記事を参考にHLOOKUP関数をマスターして、あなたのExcelスキルをさらに向上させてください!

すもりーマン
すもりーマン

みんなで頑張ろう!

コメント

タイトルとURLをコピーしました