HLOOKUP関数で範囲検索を行う方法-DL有-

HLOOKUP関数で範囲検索を行う方法

ExcelのHLOOKUP関数を使って、特定の範囲のデータを抽出る方法をご紹介します。

HLOOKUP関数の第4引数「検索方法」をTRUEまたは省略に設定することで、
特定の範囲内の値を検索します。

IF関数などの条件分岐を使うよりも、データ適応性1が高く、式が簡潔です。

HLOOKUP関数を使って範囲検索を行う

ExcelのHLOOKUP関数は、特定の値を検索し、その値が見つかった行から指定した列の値を返す関数です。

しかし、HLOOKUP関数の第4引数「検索方法」をTRUEまたは省略に設定すると・・・

検索値が完全に一致しない場合でも、指定した値以上で最も近い値

を検索します。

近似一致検索と言われます。

なお、HLOOKUP関数の基本は『【HLOOKUP関数】使い方と解説』を拝読ください。

例題

例えば、商品別 割引率に応じて、発売年別 割引率を取得してみましょう。


解答

HLOOKUP関数を使って次のように検索できます。

HLOOKUP関数の第4引数「検索方法」をTRUEまたは省略に設定すると、
指定した検索値が完全に一致しない場合でも、指定した値以下で最も近い値を検索します。



まずは、商品Aの場合の[関数の引数]ダイアログボックスの設定は下図の通りです。

ダイアログボックスの詳しい使用方法が自信のない方は、
巻末の参考記事もチェックしてみてください。

引数の入力が正しいかは「引数の入力結果」「数式の結果」が正しいことを確認してOKをクリックします。

すると、以下の関数式がセルに入力されます。

=HLOOKUP(C8, $D$2$I$54, 3, TRUE)

関数の結果(戻り値)は以下です。期待通りの結果を得られています。

25%


関数式を行方向に、商品数だけコピーすれば完成です


近似一致検索の動作とは??

HLOOKUP関数の第4引数をTRUEまたは省略にすると、以下のような動作をします。


  1. 検索範囲の最初の列(ここではA列)から検索値(ここでは2009)の近い値の最大値を探します
  2. その値が含まれる列の情報を返します

D2:I4の範囲で2009に近い最も大きい発売年を検索し、
その発売年が第3引数「行番号」のセル値を返します

結果として、「25%」が返されます。

このように、HLOOKUP関数の第4引数をTRUEまたは省略に設定することで、
特定の範囲内の値を簡単に検索することができます。

ただし、参照範囲の1列目を昇順しておく必要がありますので注意してください


さらに、詳しい話は、以下でも解説しています。
MATCH関数の解説ですが、考え方は同じです。

  1. MATCH関数ですが、【MATCH関数】「照合の型」の威力 -理論編-
  2. 【MATCH関数】「照合の型」の威力 -実践編-
  3. 【MATCH関数】「照合の型」の威力 -番外編-

HLOOKUP関数とIF関数の比較

IF関数を使用して同様のことを行うことも可能ですが、
HLOOKUP関数を使用する方が効率的である場合が多いです。

HLOOKUP関数の方が、

データ数が増えた場合や価格範囲が多い場合や価格範囲が頻繁に変更される場合

に効率的である場合が多いです。

加えて、HLOOKUP関数は一つの関数で結果を得られるため、計算式が簡潔です。

第2引数「検索方法」の使用上の注意点

HLOOKUP関数の近似一致検索は、強大な力を与えますが、
その力を制御するためには熟練した技術と知識が必要です。

下記が注意点です。


  • 第2引数の[検索範囲]が昇順である必要
    • 降順のデータセットでは、期待通りの結果を得られない可能性が高い
  • 検索範囲の上限値が空セル
    • 理由は、範囲以上の値でも強引に取得するため
  • 文字列の検索は控える 
    • 文字列の大小比較はアルファベット順で行われるため、期待通りの結果を得られない可能性が高い


誤った使い方をすると、予期しない結果をもたらす可能性があります。
したがって、この強力なツールを使う際には、
その特性と使い方をしっかりと理解しておくことが重要です。

最後に

HLOOKUP関数の第4引数をTRUEに設定することで、
特定の範囲内の値を簡単に検索することができます。

近似一致と言われます。

本例では、範囲検索を行う方法を紹介しました。

IF関数などの条件分岐関数に比べ、HLOOKUP関数の方が、

データ数が増えた場合や価格範囲が多い場合や価格範囲が頻繁に変更される場合

に効率的である場合が多いです。

第4引数「検索方法」の使用上の注意点の理解して、使用しましょう。

解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。

解答付きサンプルデータ

脚注

  1. 「データ適応性」とは、Excelの関数が様々なデータ形式やデータの変更に対応し、その影響を最小限に抑えつつ、正確な結果を出し続ける能力を指します ↩︎

—————————————
参考記事
—————————————

原理原則に関する記事

Excel関数自体の原理原則に関する記事です。こちらを参照すると、個別の関数の理解がさらに深まるでしょう。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

Excel関数にはそれぞれ構文がある

Excel関数には構文があります。それが、引数と戻り値です。構文に沿えばいいだけです。言わば、数学の公式のようなものです。理論を知らなくても、公式に当てはめれば答え…

Excel関数の引数とは

Excelの引数は、料理を完成させるための材料のようなものです。しかも、材料に種類があります。その種類を理解すると、Excel関数を上手く使いこなせるようになります。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

Excelの検索ダイアログから、関数を探す

Excelの検索ダイアログに使えば、目的の関数を発見しやすくなります。WEB検索する前に、Excel関数の検索ダイアログを使ってみましょう。

Excelのダイアログに沿って、関数を使う

Excelのダイアログに使えば、関数の使い方を調べることができます。言わば、関数のガイドラインのようなものです。

参照形式に関する記事

関数式をコピーする時はどうしたらいい?
$マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。

絶対参照/相対参照/複合参照とは

絶対参照/相対参照/複合参照とは何かをどこよりも分かりやすく解説します。

絶対参照/相対参照/複合参照の使い方

「絶対参照」「相対参照」「複合参照」は、どうやって使うのかを紹介します。 ポイントは、「$マークは、直後にあるモノを固定する」です。