サイトについて      連絡先   検索

エクセル LOOKUP 関数:検索する値に対応した値を取得する

はじめに

エクセルの LOOKUP 関数の使い方を紹介します。

LOOKUP 関数は検索する値に対応した値を取得します。

B 列に対応する値を C 列から取得したいときや、点数の評価を付けたいときに使用します。

  • 目次
    • 構文
    • 使用例
    • 解説

構文

LOOKUP(検索値, 検索範囲)
検索範囲の中から検索値と 1 番近い値を取得します。

LOOKUP(検索値, 検索範囲, 対応範囲)
検索範囲の中から検索値と 1 番近い値に対応する値を対応範囲から取得します。

引数「検索値」検索する値を、数値、文字列、セル参照、関数などで指定します。
引数「検索範囲」検索されるセルの範囲を 1 行または 1 列だけ指定します。
必ず昇順に並んでいる必要があります。
引数「対応範囲」省略できます。省略すると引数「検索範囲」が対応範囲になります。
引数「検索範囲」で見つかった位置と対応する位置の値を返します。

使用例

セル「B8」に指定した値に近い値をセル「B2」~「B5」の中から取得する。

=LOOKUP(B8,$B$2:$B$5)
12

B 列から検索し、対応した値を C 列から取得する。

=LOOKUP(B7,$B$2:$B$4,$C$2:$C$4)
13

解説

「LOOKUP 関数」は点数に対する評価を付けるような処理が向いています。20 点以上なら D、40 点以上なら C といった評価を簡単に付けられます。

=LOOKUP(B10,$B$3:$B$7,$C$3:$C$7)
16

引数「検索範囲」が昇順に並べ替えられている必要があります。そうでないときは正しい結果を取得できません。

例えば、引数「検索値」に 2 を指定したとき、次の画像では1, 10, 2, 20の順で検索します。検索値より大きい値が見つかったときは、それ以降の値は検索しません。昇順のときにそれ以降に一致する値はないからです。10 と比較したとき 2 より大きいのでこれ以降の値は検索されません。結果を 10 の 1 つ前から取得します。

14

引数「検索値」に文字列も指定できます。ただし文字列を常に昇順に並び替える必要があることと、一致する値ではなく近い値が取得されるため、正しい結果が取得されない可能性があります。代わりに「VLOOKUP 関数」の使用をおすすめします。

15

引数「検索値」が存在しない、またはそれより小さな値が存在しないときはエラー#N/Aになります。

引数「検索範囲」と引数「対応範囲」は必ず 1 行または 1 列にする必要があります。

引数「検索範囲」と引数「対応範囲」のサイズを同じにする必要があります。

複数条件を指定する

引数「検索値」に一致する値ではなく近い値を取得するため、複数条件を指定できません。そのときは「VLOOKUP 関数」などを使用します。

  • 目次
    • 構文
    • 使用例
    • 解説