元になる表を検索して、その中から合致するデータを見つけてきて転記する「HLOOKUP」関数。基本的な使い方に加えて、仕事に役立つ実例も紹介する。

表から合致するデータを取り出すHLOOKUP(エイチルックアップ)

 元になるデータベースの表を参照して、該当するデータを別の表に転記するというシーンはビジネスではよくあるはず。例えば、単価表が別にあって、そこから指定した商品の単価を転記する場合などがその典型例。そんなときに頼りになるのが、「VLOOKUP」「HLOOKUP」「LOOKUP」の3つの関数だ。

 前回、VLOOKUP関数をマスターしたのであれば、HLOOKUPもセットで覚えておこう。VLOOKUP関数は垂直方向(Vertical)にデータを検索するのに対し、HLOOKUPは水平方向(Horizontal)に検索する。この違いをしっかりと理解しておこう。

書式

書式 HLOOKUP(検索値,範囲,行番号,検索の型)
検索値(必須) 検索値を指定する
範囲(必須) 検索する範囲を指定する
行番号(必須) 先頭(一番上)の行から数えて何行目かを指定する
検索の型(省略可) 「FALSE」の場合は、検索値と完全に一致する値を探す。「TRUE」または省略の場合は、検索値と一致する値がなかった場合、検索値未満で最も近い値を探す

基本的な使い方

 この例では、飲み物メニューの単価と売上杯数の表を使って、A6セルに飲み物メニューの名前を入力すると、売上杯数をB6セルに表示させる。B6セルに記述するHLOOKUP関数の書式を考える前に、人間が目視で調べる場合を考えてみよう。ここにHLOOKUP関数をマスターするポイントがあるのだ。

 例えば、ウーロン茶が何杯売れたか、売上杯数を調べるとしよう。目視で確認する場合、まず商品の欄(1行目)を横方向に探し、「ウーロン茶」を見つけたら下方向に目線を移動し、売上杯数を確認するはず。HLOOKUP関数では、これと同じように、「範囲」や「列番号」を記述する。

 具体的には、「検索値」に探したい文字列や数値を指定し、「範囲」にどの表から探すかを記載する。そしてその文字列を見つけたら、「行番号」で指定した行数(ここでは「3」)だけ下にたどり、そのセル(ここでは「E3セル」)のデータを取り出す。もうお分かりだと思うが、HLOOKUP関数は、VLOOKUPの横方向版で、データベース的な表の形式によってVLOOKUP関数と使い分ければいいのだ。

最上段から検索値を探し、値が見つかったらその列を指定された行列数分下に移動し、データを取り出す
最上段から検索値を探し、値が見つかったらその列を指定された行列数分下に移動し、データを取り出す

【仕事での使い方】商品番号に合致した品名と単価を別表から転記する

品番を入力すると、同じシートの別の位置にある商品一覧表から、該当する品名と単価を自動で転記する──。表が横方向に並んでいても、HLOOKUP関数を使うとすぐに実現できる
品番を入力すると、同じシートの別の位置にある商品一覧表から、該当する品名と単価を自動で転記する──。表が横方向に並んでいても、HLOOKUP関数を使うとすぐに実現できる

 上図のような表で、入力を楽にするために、品番を入力すると、それに対応した品名や単価が自動的に表示されるようにしたい。通常、商品の一覧表などの別表は、商品名が縦に並んだ表が多いが、横方向に並んでいる場合は、VLOOKUP関数ではなく、HLOOKUP関数を使えば解決できる。「行番号」を「2」にすると2行目にある品名を転記でき、「3」にすると3行目の単価を転記できる。

 なお、「範囲」で指定する別表のセル範囲は、コピーしてもずれないように、絶対参照にしておく必要がある。

A3セルに入力した品番の値「11」を、別表のデータ部分(B10:G12セル)の一番左の行から探し、一致したB10セルと同じ列の2行目にある「ダスター」を表示する
A3セルに入力した品番の値「11」を、別表のデータ部分(B10:G12セル)の一番左の行から探し、一致したB10セルと同じ列の2行目にある「ダスター」を表示する
同じようにして、単価もHLOOKUP関数で転記する。この場合は、「行番号」を「3」にすればよい
同じようにして、単価もHLOOKUP関数で転記する。この場合は、「行番号」を「3」にすればよい
1
この記事をいいね!する