Excel(エクセル)のHLOOKUP関数は表を横方向に検索して検索値を抽出する大変便利な関数です。
しかし、検索値が2つ以上あると一番左の項目の値が返されるため、見つけたいデータが表示されない場合があります。
今回は、複数の項目を検索値にするHLOOKUP関数の複数条件の設定方法を解説します。
HLOOKUP関数の使い方やエラー値「#N/A」の変換方法や
別シートを参照する方法はこちらの記事を参考にしてくださいね。
VLOOKUP関数の複数条件の設定方法は、【ExcelのVLOOKUP関数で複数条件を設定!3つ以上も可能な方法を解説】の記事を参考にしてください。
エクセルのHLOOKUP関数の使い方(おさらい)
エクセルのHLOOKUP関数(エイチルックアップ)は、表を横方向に検索して情報を抽出する関数です。
下の商品リスト表を例に具体的に説明します。
商品リスト表には、[商品番号][商品カテゴリ][商品名][値段]がまとめられています。
この商品リスト表から商品番号”25”の商品名を検索するために、セルC11に以下のHLOOKUP関数を挿入すると、商品名”風邪薬”が表示されます。
=HLOOKUP(B11,$C$3:$J$6,3,FALSE)
HLOOKUP関数は、図の矢印のとおり、『①⇒➁⇒③の順番で検索値が抽出されている』とイメージすると理解しやすいと思います。
まず、『①:商品番号”25”を表から検索』して、『➁:商品番号”25”の上から”3”行目の値(風邪薬)』を見つけて、『③見つけた値(風邪薬)を、HLOOKUP関数を挿入したセルに返す』という流れです。
HLOOKUP関数の複数条件の設定方法
検索値が一つだけだと抽出データが2つ以上存在する場合があります。
そんな時は、『複数の項目を検索値にする』ことで見つけたい条件を抽出することが出来ます。
一番シンプルな方法は、「複数(2つ)の条件を結合したキーを新たに作り出す」方法です。
下の図のように、商品番号” 35”は2つ存在しますが、商品番号と商品カテゴリの文字を結合して“35家電”、“35日用品”という新たなキーを作成してからHLOOKUP関数を使うという方法です。
それでは、この商品リスト表から、商品番号”35”の商品カテゴリ”日用品”の値段をHLOOKUP関数で抽出する手順を具体的に説明します。
手順1.検索値用のキー行を挿入
検索用に新しい行を挿入して、「商品番号」と「商品カテゴリ」を”&”を使って、文字と文字を結合します。(例=C3&C4)
手順2.右のセルに数式をコピペし、キー行を完成
手順1で挿入した関数を、右のセルにもコピペします。
手順3.HLOOKUP関数を挿入し検索値を”&”で結合
HLOOKUP関数を挿入し、関数の引数:検索値を、「商品番号」のセルと「商品カテゴリ」のセルを”&”で結合します。
=HLOOKUP(B12&C12,
手順4.HLOOKUP関数を完成
HLOOKUP関数の残りの引数を指定して、関数を完成させます。
=HLOOKUP(B12&C12,$B$5:$J$7,3,FALSE)
手順5.HLOOKUP関数が完成
下の図のように、商品番号”35”の商品カテゴリ”日用品”の値段である”500”が正しく表示されました。
HLOOKUP関数の複数条件は3つ以上でも可能
さきほどは2つの条件でHLOOKUP関数を利用しましたが、3つ以上の条件でも利用が可能です。
1つ前の見出しで説明した手順と同じように、”&”で文字を結合することで3つ以上の複数条件でもHLOOKUP関数を利用することが出来ます。
手順1.検索値用のキー行を挿入
検索用に新しい行を挿入して、「商品番号」と「商品カテゴリ」と「商品名」を”&”を使って、文字と文字と文字を結合します。(例=C3&C4&C5)
手順2.HLOOKUP関数を挿入し検索値を”&”で結合
HLOOKUP関数を挿入し、関数の引数:検索値を、「商品番号」のセルと「商品カテゴリ」のセルと「商品名」のセルを”&”で結合します。
=HLOOKUP(B12&C12&D12,
手順3.HLOOKUP関数を完成
HLOOKUP関数の残りの引数を指定して関数を完成すると、下の図のように、値段”500”正しく抽出することがで来ました。
=HLOOKUP(B12&C12&D12,$B$6:$I$7,2,FALSE)
HLOOKUP関数の複数条件は「&」がポイント
今回はHLOOKUP関数を複数の条件で使用する方法をご紹介しました。”&”を使ってキーとなる行を作成し、HLOOKUP関数の引数:検索値も”&”で文字を結合するというシンプルな手順です。VLOOKUP関数でも同様の手順で複数条件が利用できますので、ぜひ利用してみてください。