LOOKUP関数の使い方

ベクトル(1行/1列)から値を検索します(近似一致)。

200720102013201620192021365
構文
=LOOKUP(検索値, 検索範囲, [対応範囲])
引数
  1. 検索値必須
  2. 検索範囲必須
  3. 対応範囲省略できる
どんな関数か

LOOKUP は、古くからある検索関数です。探す範囲が昇順に並んでいることを前提に、「その値以下で、いちばん大きいもの」を探します。この性質のおかげで、点数から評価を割り当てるような段階表の引き当てには向いています。一方、並べ替えていない表ではエラーにならずに間違った行を返すので危険です。ふつうの「一致するものを探す」用途では XLOOKUP、無ければ VLOOKUP の「検索の型」に FALSE を使ってください。

使用例

C2 に =LOOKUP(75, A2:A4, B2:B4) を入れると、こうなります。

ABC
1点数評価判定(75点)
20CB
370B
490A

数式を入れたセル

結果: 75は70〜90の間なので「B」

つまずきやすいところ

  • 古い関数。ふつうは VLOOKUP・XLOOKUP・INDEX+MATCH を使う
  • 探す範囲が小さい順に並んでいないと、答えがおかしくなる(エラーにはならない)
  • 見つからないときは、検索値より小さい中でいちばん大きい値に当たる

よくあるエラーと、その直し方

#N/A
探す値が見つからない。または探す範囲が昇順に並んでいないLOOKUP は並べ替えてあることを前提に、近い値を探します。並べ替えていない表では、見つかっても間違った行を返すことがあります。完全一致で探したいなら XLOOKUP(または VLOOKUP の「検索の型」に FALSE)を使う
#VALUE!
探す範囲と取り出す範囲の大きさが違う2つの範囲の件数をそろえる

同じ「検索・行列」の関数

検索・行列の関数をすべて見る(39件)