IF関数とHLOOKUP関数を組み合わせた3つの使い方!IF関数で抽出値を変換!

エクセルでIF関数とHLOOKUP関数を組み合わせた使い方

エクセルのHLOOKUP関数(エイチ・ルックアップ)は表を横方向に検索して、検索値を抽出する大変便利な関数です。

IF関数は、設定した条件に合わせて返す値を指定する関数です。

以前投稿した【VLOOKUP関数とIF関数を組み合わせた3つの使い方!】の記事では、VLOOKUP関数とIF関数を組み合わた便利な使い方を紹介しました。

今回は、『IF関数HLOOKUP関数を組み合わせて利用』することで『抽出値を別の値に変換して表示』する便利な活用方法を解説します。

HLOOKUP関数を複数条件で使用する方法も合わせて参考にしてください。

IF関数とは?

IF関数について使い方をおさらいしましょう。すでに使い方を理解している方は読み飛ばしてください。

IF関数の構文は以下のように3つの引数で構成されています。

=IF(論理式,[値が真の場合],[値が偽の場合])

論理式に当てはまるものは、[値が真の場合]の結果を表示し、そうでない場合は[値が偽の場合]の結果を表示します。

条件フロー図で表すと以下のようになります。

上の論理式の引数の文字色と下の図の色は同じ内容を表しています。

IF関数のフロー図(イメージ図)
IF関数のフロー図(イメージ図)

シンプルなIF関数の使い方を1つ紹介します。

下のテスト結果表のD列に以下のIF関数を使って、80点以上であれば”〇、そうでなければ”×”を表示しています。

=IF(C4>=80、”〇”,”×”)

エクセルのIF関数の使い方
エクセルのIF関数の使い方

HLOOKUP関数とは?

続いて、HLOOKUP関数の使い方をおさらいしましょう。

すでに構文や引数の設定の仕方などを理解出来ている方は、読み飛ばしていただいて結構です。

HLOOKUP関数(エイチルックアップ)は、表を横方向に検索して情報を抽出する関数です。

HLOOKUP関数の構文は、検索値、検索範囲、行番号、検索方法の4つの引数で構成されています。

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

下の商品リスト表を例に具体的に説明します。

商品リスト表には、[商品番号][商品カテゴリ][商品名][値段]がまとめられています。

この商品リスト表から商品番号”25”の商品名を検索するために、セルC11にHLOOKUP関数を挿入します。

HLOOKUP関数を使った結果、商品番号”25”の商品名である”風邪薬”が返されました。

エクセルのHLOOKUP関数の使い方
エクセルのHLOOKUP関数の使い方

引数の設定の仕方や細かい関数の使い方については以下の記事で紹介していますので、参考にしてみてください。

IF関数とHLOOKUP関数で出来ること

IF関数HLOOKUP関数とを組み合わせる』とは、どういうことかをまず説明します。

IF関数は『条件を指定して、セルの値によって他のセルの値を変換する関数』です。

一方で、HLOOKUP関数は、『表を横方向に検索して情報を抽出する関数』です。

そのため、この2つの関数を組み合わせると、『表を横方向に検索して情報を抽出し、その抽出値を条件によって別の値を変換する』ことが出来るようになります。

下の図解で説明すると、上半分がHLOOKUP関数の領域で「表から値を抽出」します。

下半分がIF関数の領域で、抽出された値に条件を設定して、条件に合うか合わないかで表示する結果を変換します。

IF関数とHLOOKUP関数を組み合わせたイメージ図
IF関数とHLOOKUP関数のイメージ図

IF関数の中に挿入するHLOOKUP関数は、IF関数の第1~3引数のどこにでも挿入して利用することが可能です。

実例は下の3つの見出しで紹介します。

IF関数の中にHLOOKUP関数を挿入出来る位置
IF関数の中にHLOOKUP関数を挿入出来る位置

IF関数とHLOOKUP関数の組み合わせ:実例1(販売高で〇×判定)

それでは、IF関数とHLOOKUP関数を組み合わせた実例を紹介します。

まず1つ目の実例は、「商品販売高リストから販売高を判定して〇か×を表示する」使い方です。

HLOOKUP関数をIF関数の1つ目の引数に挿入して利用します。

実例1の構文:IF関数の論理式の中にHLOOKUP関数を挿入する使い方
実例1の構文:IF関数の論理式の中にHLOOKUP関数を挿入する使い方

今回は、下の商品販売高リストを用いて、C10セルに販売高が『600以上は“〇”、600未満は“×”』を表示する使い方を解説します。

販売高の大きさに合わせて〇×判定したい
販売高の大きさに合わせて〇×判定したい

手順1.IF関数を挿入し、第1引数を入力

IF関数を挿入して、第1引数にHLOOKUP関数を挿入します。

販売高が600以上であれば”〇”を返すため、IF関数の論理式を”HLOOKUP(B10,$B$3:$I$5,3,FALSE)>=600”と設定します。

=IF(HLOOKUP(B10,$B$3:$I$5,3,FALSE)>=600,

IF関数の第1引数にHLOOKUP関数を挿入
IF関数の第1引数にHLOOKUP関数を挿入

手順2.論理式が真の場合の値を作成

手順1で作成したHLOOKUP関数の論理式が真の場合(=当てはまる場合)に”○”と表示したいため、関数に真の値を”○”で入力します。

=IF(HLOOKUP(B10,$B$3:$I$5,3,FALSE)>=600,"○",

IF関数の第2引数を入力
IF関数の第2引数を入力

手順3.条件が当てはまらなかった場合の値を作成

手順1で作成したHLOOKUP関数の論理式が偽の場合(=当てはまらない場合)は”×”と表示します。

=IF(HLOOKUP(B10,$B$3:$I$5,3,FALSE)>=600,"○","×"

IF関数の第3引数を入力
IF関数の第3引数を入力

手順4.関数が完成しているかを確認

IF関数をENTERを押して確定し、正しく判定できるか確認します。下図のように商品番号15の場合は、販売高が400千円のため、判定は”×”となります。

IF関数とHLOOKUP関数を組み合わせて販売高を判定して〇か×を表示
IF関数とHLOOKUP関数を組み合わせて販売高を判定して〇か×を表示

IF関数とHLOOKUP関数の組み合わせ:実例2(販売高で〇×△判定)

続いて2つ目の実例の紹介です。

上の見出しの実例1では、”○”か”×”かで判定する使い方を解説しましたが、”○”か”×”か”△”かの3つの判定を設定することも可能です。

今回は、IF関数の3つ目の引数に、『HLOOKUP関数が中に使われているIF関数』を挿入します。

実例2の構文:IF関数の3つ目の引数に、『HLOOKUP関数が中に使われているIF関数』を挿入
実例2の構文:IF関数の3つ目の引数に、『HLOOKUP関数が中に使われているIF関数』

今回は、下の商品販売高リストを用いて、C10セルに販売高が『700以上は“〇”、500~699は”△”、500未満は“×”』を表示する使い方を解説します。

IF関数とHLOOKUP関数を組み合わせて販売高の〇△×判定したい
IF関数とHLOOKUP関数を組み合わせて販売高の〇△×判定したい

手順1.IF関数の第1~2引数を入力

販売高が700以上であれば”〇”を返すため、IF関数の論理式と第1引数と第2引数を以下のように設定します。

=IF(HLOOKUP(B10,$B$3:$I$5,3,FALSE)>=700,"○",

IF関数の第1引数にはHLOOKUP関数を挿入
IF関数の第1引数にはHLOOKUP関数を挿入

手順2.IF関数の第3引数を入力

IF関数の第3引数に、IF関数とHLOOKUP関数を組み合わせた関数を挿入します。

引数に500以下であれば”×”、そうでなければ”△”という分岐を設けます。

=IF(HLOOKUP(B10,$B$3:$I$5,3,FALSE)>=700,"○",IF(HLOOKUP(B10,$B$3:$I$5,3,FALSE)<500,"×","△"))

IF関数の第3引数に、IF関数とHLOOKUP関数を組み合わせる
IF関数の第3引数に、IF関数とHLOOKUP関数を組み合わせる

手順3.関数が完成しているかを確認

関数をENTERを押して確定し、正しく判定できるか確認します。

下図のように商品番号15の場合は、販売高が550千円のため、判定は”△”となります。

IF関数とHLOOKUP関数を組み合わせて販売高を判定して〇△×を表示
IF関数とHLOOKUP関数を組み合わせて販売高を判定して〇△×を表示

IF関数とHLOOKUP関数の組み合わせ:実例3(会員価格・非会員価格の自動表示)

最後に、IF関数とVLOOKUP関数を組み合わせた3つ目の使い方をご紹介します。

下の商品価格表を使って、C10セルが”会員”であれば会員価格を表示し、C10セルが”非会員”であれば非会員価格を表示する使い方を紹介します。

IF関数とHLOOKUP関数を使って会員区分に合わせた価格を表示
IF関数とHLOOKUP関数を使って会員区分に合わせた価格を表示したい

今回は、IF関数の2つ目の引数にHLOOKUP関数を挿入し、3つ目の引数に『HLOOKUP関数が中に使われているIF関数』を挿入します。

実例3の構文:IF関数の中に2つのHLOOKUP関数を挿入
実例3の構文:IF関数の中に2つのHLOOKUP関数を挿入

手順1.IF関数を挿入し第1引数を設定

C10セルが”会員”だった場合を真の値に設定するために、以下のIF関数を挿入します。

=IF(C10="会員",

IF関数の第1引数を設定
IF関数の第1引数を設定

手順2.IF関数の第2引数にHLOOKUP関数を設定

C10セルが”会員”だった場合、B10セルに表示された商品番号の会員価格が表示されるようHLOOKUP関数を挿入します。

=IF(C10="会員",HLOOKUP($B$10,$B$3:$H$6,3,FALSE),

IF関数の第2引数にHLOOKUP関数を設定
IF関数の第2引数にHLOOKUP関数を設定

手順3.IF関数の第3引数にIF関数を設定

IF関数の第3引数に、C10セルが”会員”以外だった場合に返す値を指定します。そのために、IF関数とHLOOKUP関数を使って、以下の関数を挿入します。

=IF(C10="会員",HLOOKUP($B$10,$B$3:$H$6,3,FALSE),IF(C10="非会員",HLOOKUP(B10,$B$3:$H$6,4,FALSE))

IF関数の第3引数に2つ目のIF関数を挿入
IF関数の第3引数に2つ目のIF関数を挿入

手順4.ENTERで関数を確定

ENTERで関数を確定すると、商品番号”18”の会員価格”550”が表示されます。

IF関数とHLOOKUP関数を組み合わせて商品番号と会員区分に合わせた価格が表示
IF関数とHLOOKUP関数を組み合わせて商品番号と会員区分に合わせた価格が表示

手順5.非会員価格の表示を確認
念のため会員区分を”非会員”に切替します。そうすると、下の図のように非会員価格の”550”が表示されます。

商品番号18の非会員価格も自動で表示
商品番号18の非会員価格も自動で表示