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

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

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

 LOOKUP関数は、1行または1列のみを対象とし、「検索範囲」は必ず文字コードの昇順に並べておく必要がある。LOOKUP関数を応用したものがVLOOKUP関数とHLOOKUP関数で、実はLOOKUP関数でできることは、VLOOKUP関数やHLOOKUP関数でもできる。なお、LOOKUP関数には「ベクトル形式」と「配列形式」の2種類があり、書式が異なる。ここではベクトル形式のLOOKUP関数について解説する。

書式

書式 LOOKUP(検索値,検索範囲,対応範囲)
検索値(必須) 検索値を指定する
検索範囲(必須) 検索する範囲を1行または1列で指定する
対応範囲(必須) 検索範囲で見つかった値と同じ位置の値を取り出す

基本的な使い方

 この例では、社員番号をD2セルに入力すると、E2セルに社員名を表示させる。E2セルに入力する書式では、「検索値」にD2セルを指定し、「検索範囲」に社員番号の範囲(A2:A6)を指定する。そして対応範囲に社員名の範囲を指定すればよい。D2セルの数値を変えると、表示する社員名も変わる。

 繰り返しになるが、LOOKUP関数では社員番号などのデータは昇順に並べておく必要がある。またVLOOKUP関数やHLOOKUP関数などでは「列番号」や「行番号」で表のどのデータを取り出すか指定できたが、LOOKUP関数では「検索範囲」と「対応範囲」が常に1対1になっている点を覚えておきたい。

指定された検索値と同じ値を検索し、それに対応する値を取り出す
指定された検索値と同じ値を検索し、それに対応する値を取り出す

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

商品コードを入力すると、該当する商品名と単価を自動で転記できるようにしたい
商品コードを入力すると、該当する商品名と単価を自動で転記できるようにしたい

 上図のような表で、商品コードを入力すると、それに対応した商品名や単価が自動的に表示されるようにしたい。条件に合ったデータを別表から転記するVLOOKUP関数やHLOOKUP関数を使ってももちろん実現できるが、LOOKUP関数のほうが記述が楽だ。

 ポイントは「対応範囲」をうまく活用すること。「対応範囲」をB列にすれば商品名が、C列にすれば単価が表示できるのだ。なお「検索範囲」は、文字コードの昇順に並べておく必要がある。

 F2セルに商品名を転記するには、「検索値」に商品コードの値(E2セル)を、「検索範囲」には商品コードの列である「A2:A6」を指定する。「検索範囲」からE2セルの値を探し、一致したら「対応範囲」(B2:B6)の同じ位置のデータを取り出す。同じようにG2セルに単価を表示する場合は、「対応範囲」を「C2:C6」に変更すればいい。

LOOKUP関数では、VLOOKUP関数やHLOOKUP関数のように「列番号」「行番号」を指定する必要がない
LOOKUP関数では、VLOOKUP関数やHLOOKUP関数のように「列番号」「行番号」を指定する必要がない
単価をLOOKUP関数で取り出す場合は、「対応範囲」を「C2:C6」にすればよい
単価をLOOKUP関数で取り出す場合は、「対応範囲」を「C2:C6」にすればよい
第13回
【Excel時短術】仕事に効くHLOOKUP関数の使い方 元表を参照して転記する関数
第15回
【Excel時短術】仕事に効くSUMIFS関数の使い方 複数の条件に合ったセルを合計できる