【Excel関数】LOOKUP関数を使用して指定した範囲から値に最も近い値を取り出す

Excel関数

ExcelのLOOKUP関数を紹介したいと思います。

今回はVLOOKUPではなく、LOOKUPです。

スポンサーリンク

使用する関数

=LOOKUP(検査値,検査範囲,[対応範囲])
=LOOKUP(検査値,配列)
LOOKUP関数を使用することで、指定した値から指定した範囲内にある最も近い値を取り出すことが出来ます。
言葉だと少し伝わりにくいため、使用例で見ていきたいと思います。

使用例

①.指定した値に一番近いものを取得したい場合
=LOOKUP(検査値,検査範囲,[対応範囲])を使用する場合

例)40歳に最も近い芸能人は誰なのか!?
(A1~A5に芸能人、B1~B5に年齢、D2に調べたい年齢が書かれている場合)
=LOOKUP(D2,B2:B6,A2:A6)

芸能人のインスタグラムフォロワーランキングから芸能人を選びましたが、
山ピーはイケメンすぎてとても34歳とは思えません。

=LOOKUP(検査値,配列)を使用する場合

例)40歳に最も近い芸能人は誰なのか!?
(A1~A5に芸能人、B1~B5に年齢、D2に調べたい年齢が書かれている場合)
=LOOKUP(D2,A2:B6)

これは、NG例となります。
配列を使用する場合は指定方法が異なり、かつデータを昇順にしなければいけません!!
②.同じ範囲を指定するだけでできる検索

例)山ピーの歳は何歳なのか!?
(A1~A5に芸能人、B1~B5に年齢、D2に調べたい芸能人が書かれている場合)
=LOOKUP(D2,A2:B6)

先ほどの表と順序が異なり、A2~B6を昇順で並び変えています。
昇順に並び替えないとエラー(#N/A)が出てきます。

③.配列を使用して1番目の例と同様の結果を得えたい場合

例)40歳に最も近い芸能人は誰なのか!?
(A1~A5に年齢、B1~B5に芸能人、D2に調べたい年齢が書かれている場合)
=LOOKUP(D2,A2:B6)

表の名前年齢を逆にして、かつA2~B6を昇順で並び替えています。
配列を使用して同じことを再現出来ますが、表が少しかっこ悪いですね;

そのため、無理に同じ結果を得ようとするより、①と②の例が出来れば良いと思います。

 

LOOKUP関数を使用することで、指定した値から指定した範囲内にある最も近い値を取り出すことが出来ます。
配列バージョン(=LOOKUP(検査値,配列))を使用する場合は、昇順を忘れないようにしてください。

 

コメント