Excelで条件に一致するデータを検索するLOOKUP関数を使ってみる

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

Excelで条件に一致するデータを探す場合、私はVLOOKUP関数を使う場合が多いですが、今回は、LOOKUP関数について記載してみました。

スクリーンショット 2015-08-03 7.54.27

 

(使用Excel;2013)

参考

参考 support Office;LOOKUP関数

参考 support Office;VLOOKUP関数


LOOKUP関数

 

準備(検索範囲を昇順に並べ替え)

次のような表を作成しました。

LOOKUP_11

LOOKUP関数を使って、商品No.を検索して、その番号に対応する個数を表示するという式を記述したいと思いますが、次の記述のとおり、検査範囲である商品No.を「昇順」で並べておかないといけません。

(support Office;LOOKUP関数より)

検査範囲に入力されている値は、… -2、-1、0、1、2 …、A ~ Z、ア~ン、FALSE、TRUE のようにコード順の昇順に配置されている必要があります。そうでない場合、LOOKUP 関数は正しい値を見つけることができません。英字の大文字と小文字は区別されません。

そこで、A列を次のように並べ替えてみました。

LOOKUP_12

 

LOOKUP関数の使い方

LOOKUP関数には、次の2つの記述形式があります。

[aside type=”boader”]・ ベクトル形式

・ 配列形式[/aside]

 

ベクトル形式の記述

ベクトル形式では次のように記述します。

「=LOOKUP(検査値,検査範囲,対応範囲)」

検査値を検査範囲のなかから探して、対応範囲の値をかえすことになります。例えば次の画像のように記述します。

LOOKUP_13

上の画像のH2セルには、検査値をG2セル(上の例では商品No.「311」が入力されている)、検査範囲をA列、対応範囲をC列とした式を記述しました。その結果、H2セルには、商品No.311の個数「1,050」が表示されました。

※ 「対応範囲」を省略した場合

support OfficeのLOOKUP関数のページには対応範囲の説明に「省略可能」と書いてあります。

実際に省略した式をH5セルに記述しました。結果は上記の画像のとおり、「311」と表示されました。

(support Office;LOOKUP関数より)

  • 対応範囲    省略可能です。1 行または 1 列のみの範囲を指定します。対応範囲検査範囲と同じサイズであることが必要です。

 

配列形式

配列形式では次のように記述します。(support Officeでは推奨していない形式のようです。)

「=LOOKUP(検査値,配列)」

(縦長の表の場合)配列のなかの先頭列から検査値を探して、配列の最終列の対応する値をかえします。

LOOKUP_14

 

H6セルには、検査値をG6セル、配列をA2セルからC8セルに指定した式を記述しました。H2セルで記述したベクトル形式と同じく商品No.311に対応する個数「1,050」が表示されました。

おまけ LOOKUP関数では配列形式は使わないほうが良い?

support OfficeのLOOKUP関数のページには次のような記述があります。

ヒント   配列形式の代わりに VLOOKUP または HLOOKUP を使うことを強くお勧めします。

さらに、次のようにも記載されています。

LOOKUP の配列形式は、他のスプレッドシート プログラムとの互換性を維持するために提供されていますが、機能が制限されています。

この記述を読む限りは、LOOKUP関数の配列形式は使わないほうが良いようです。


■□◆◇ 編集後記 ◇◆□■

昨日は、午前中に近所の神社へ。

1時間半ぐらい歩きましたが、暑くてちょっとふらふらしました。午前中でもこの暑さ。午後、スポーツする人はすごいですね。