はじめに
Excel には、LOOKUP関数・VLOOKUP関数・HLOOKUP関数という似たような関数があります。
これらの関数の違いはなんでしょうか?
VLOOKUP関数・HLOOKUP関数の違いを知っている人は割と多いです。これらの違いは、検索範囲が縦と横かの違いです。
しかし、LOOKUP関数というのはあまり見慣れないかもしれません。
私も業務で Excel をよくつかっていますが、VLOOKUP関数とHLOOPUP関数はよくみますが、LOOKUP関数は1回しか見たことがないです。
この記事では、これら3つの関数の違い方について説明します。
LOOKUP関数
これはデータ範囲から検査値に該当する行もしくは列を取得し、その行もしくは列と同じ位置の対応範囲の値を取得する関数です。
何言ってるかよくわからない人は、要は縦検索もできるし、横検索もできると思ってください。
縦検索
下の画像をもとに説明します。例えば検査値が「8」の場合、検査範囲(赤枠の箇所)では9行目にあることがわかります。
そして対応範囲の9行目の値は「島田」であるため、「島田」という値を返します。
横検索
同様に下の画像をもとに説明します。例えば検査値が「8」の場合、検査範囲(赤枠の箇所)ではI列目にあることがわかります。
そして対応範囲のI列目の値は「島田」であるため、「島田」という値を返します。
VLOOKUP関数
これはデータ範囲から検査値に該当する行を取得し、引数に指定した列番号×取得した行の値を取得する関数です。
要は縦検索のみが行えます。
下記画像を例に説明します。検索範囲を赤枠の表にし、検査値を「8」とします。すると、赤枠の「8」は9行目にあります。次に列番号に「2」としているため、
赤枠の表の「2」行「8」列の値は「島田」であるため、関数は「島田」を返します。
※ さらに詳しく VLOOKUP関数を知りたい方は、下記リンクをご確認ください。
HLOOKUP関数
これはデータ範囲から検査値に該当する行を取得し、引数に指定した列番号×取得した行の値を取得する関数です。
要は横検索のみが行えます。
下記画像を例に説明します。検索範囲を赤枠の表にし、検査値を「8」とします。すると、赤枠の「8」は I(アイ) 列目にあります。次に行番号に「2」としているため、
赤枠の表の「2」行「I(アイ)」列の値は「島田」であるため、関数は「島田」を返します。
LOOKUP関数・VLOOKUP関数・HLOOKUP関数の違い
これだけ見れば、LOOKUP関数がすごくね?と思うかもしれませんが、
LOOKUP関数には値の検索を行う際に、完全一致ができません。
上の関数の表記方法(オレンジ色の枠の箇所)を見ると、VLOOKUP・HLOOKUP 関数に[検索方法]という引数があることがわかると思います。
それが LOOKUP関数にはないため、検査値がない場合は検査値より小さい値の最大値を取得してしまいます。
例えば、LOOKUP 関数と VLOOKUP 関数で、検査値を同じ「8」とし検査範囲(赤枠)を同じ表にするとします。
VLOOKUP関数の場合、「8」は検査範囲には存在しないためエラーとなります。
LOOKUP関数の場合、「8」は検査範囲には存在しませんが、検査値より小さい値の最大値を取得するため「6」の値である「石川」を返します。
ですので、完全に一致する値を検索したい場合は、LOOKUP関数を使うことをおススメしません。
最後に
いかがでしょうか?
この関数を、職場でたまたま後輩が使っているのをみて教えてあげました。
その後輩も社会の厳しさを学んだことでしょう(たぶん)。皆様もぜひこれらの関数を使いこなすようにしてください!!!