LOOKUP関数の使い方|区切りの表から値を探す
※写真はイメージです
書き方はこれだけ
=LOOKUP(探す値, 探す範囲, 返す範囲)LOOKUPは、探す範囲の中で探す値以下でいちばん大きい値を見つけて、返す範囲の同じ位置の値を返す関数です。要は、送料や割引率のように「〇円以上なら△」という区切りの表から値を持ってくる関数です。探す範囲は小さい順に並べておくのが決まりです。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
先に言っておくこと:ぴったり一致では探せない
LOOKUPには、VLOOKUPのFALSEのような「ぴったり同じものだけ」の指定がありません。コードや名前で探すと、表にない値でもエラーにならずに近い行を返してしまいます。なので、コードや名前で探すなら、LOOKUPではなくVLOOKUPかXLOOKUPを使ってください。LOOKUPを使うのは、区切りの表のときだけで大丈夫です。
よく使う例
| やりたいこと | 式 |
|---|---|
| 注文額から送料を出す | =LOOKUP(D2,$A$2:$A$5,$B$2:$B$5) |
| 点数から評価を出す(区切りの表がA・B列) | =LOOKUP(C2,$A$2:$A$5,$B$2:$B$5) |
| 表を作らずに式の中で区切る | =LOOKUP(C2,{0,60,80},{"C","B","A"}) |
| 列のいちばん下の値(空欄を飛ばす) | =LOOKUP(2,1/(A2:A100<>""),A2:A100) |
いちばん下の例は、売上の表で「最新の値」を出すときの決まった書き方です。意味は分からなくても、形をそのまま使えば動きます。
VLOOKUPのTRUEとの違い
区切りの表から探すのは、VLOOKUPの4つ目を TRUE にしても同じことができます。違いは、LOOKUPは探す範囲と返す範囲を別々に指定できることで、返す列が探す列より左にあっても使えます。どちらで書いても結果は同じなので、職場でよく使われているほうに合わせればいいと思います。
うまくいかないとき
1違う値が返ってくる
探す範囲が小さい順に並んでいません。
直し方探す範囲を昇順に並べ替えます。
2#N/A になる
探す値が、探す範囲のいちばん小さい値より小さいです。
直し方区切りの表のいちばん上を 0 にします。
3表にないコードなのに値が出る
LOOKUPは近い値を返すので、ぴったり一致を確かめません。
直し方コードで探すならVLOOKUP(FALSE)かXLOOKUPを使います。
サンプルファイルで試す
黄色のセルにLOOKUPの式を入れて、「答え」のシートと比べてください。
よくある質問
LOOKUP関数とは?
探す範囲の中で、探す値以下でいちばん大きい値を見つけて、返す範囲の同じ位置の値を返す関数です。区切りの表から値を持ってくるときに使います。
LOOKUPとVLOOKUPの違いは?
LOOKUPはぴったり一致の指定ができず、いつも近い値で探します。コードや名前で探すならVLOOKUP(FALSE)かXLOOKUPを使います。
LOOKUPで違う値が返ってきます
探す範囲が小さい順に並んでいるかを確かめてください。
列のいちばん下の値を出すには?
=LOOKUP(2,1/(A2:A100<>""),A2:A100) で、空欄を飛ばしたいちばん下の値が出ます。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報