LOOKUP 関数

Excel

数式と関数

参照

参照

LOOKUP 関数

LOOKUP 関数

Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 その他…表示数を減らす

Microsoft 365 を無料でお試しください

今すぐロック解除

1 つの行または列から、他の行または列の同じ場所にある値を見つけるときは、検索/行列関数 の 1 つである LOOKUP を使います。

たとえば、自動車の部品の部品番号がわかっていても価格がわからないとします。 LOOKUP 関数を使うと、セル H1 に自動車の部品番号を入力したときに、価格を返してセル H2 に表示することができます。

LOOKUP 関数は 1 つの行や列を検索するために使います。 上の例では、列 D で価格を検索します。

ヒント: 使用しているバージョンに応じて、新しい検索関数の 1 つを検討してください。

LOOKUP には、ベクトル形式と配列形式の 2 種類の使い方があります。

  • ベクトル形式: この形式の LOOKUP を使用して、1 つの行または 1 つの列で値を検索します。 ベクトル形式の LOOKUP 関数を使用するのは、検索する値が含まれた範囲を指定する場合です。 たとえば、列 A の行 6 までの範囲で値を検索する場合などです。

配列は、検索対象の行と列の値の集まりです (表に似ています)。 たとえば、列 A と B を行 6 までの範囲で検索する場合などです。 LOOKUP は最も近い位置で一致する値を返します。 配列形式を使用するには、データが並べ替えられている必要があります。

ベクトル形式

ベクトル形式の LOOKUP 関数は、1 行または 1 列のみのセル範囲 (ベクトル) で値を検索し、値が見つかると、範囲の次の行または列の同じ位置にある値を返します。

書式

LOOKUP(検査値, 検査範囲, [対応範囲])

LOOKUP 関数のベクトル形式の書式には、次の引数があります。

  • 検索値 必ず指定します。 LOOKUP が最初のベクトルで検索する値。 検査値 には、数値、文字列、論理値、または値を参照する名前やセル参照を指定できます。

  • 検査範囲 必ず指定します。 1 行または 1 列のみの範囲を指定します。 検査範囲 には、文字列、数値、または論理値を指定できます。

重要: lookup_vector **の値は、…、-2、-1、0、1、2、…、A-Z、FALSE、TRUE の昇順に配置する必要があります。それ以外の場合、LOOKUP** は正しい値を返さない可能性があります。 英字の大文字と小文字は区別されません。

  • result_vector 省略可能です。 1 つの行または列のみを含む範囲。 result_vector 引数は、** lookup_vector** と同じサイズにする必要があります。 同じサイズにする必要があります。

説明

  • LOOKUP では、** 検査値** が見つからない場合、** 検査範囲** 内で** 検査値** 以下の最大値が、一致する値として使用されます。

  • 検査値 **が 検査範囲** に含まれる最小値よりも小さい場合は、LOOKUP では、エラー値#N/A が返されます。

ベクターの例

使用している Excel のワークシートでこれらの例を使って、LOOKUP 関数の機能を学ぶことができます。 最初の例では、最終的に次のようなスプレッドシートになります。

  1. 次の表のデータをコピーし、新しい Excel ワークシートに貼り付けます。
列 A にコピーするデータ列 B にコピーするデータ
頻度 4.14
4.19
5.17
5.77
6.39
  1. 次に、次の表の LOOKUP 式をワークシートの列 D にコピーします。
列 D にコピーする式式の内容表示される結果
数式
=LOOKUP(4.19, A2:A6, B2:B6)A 列で 4.19 を検索し、B 列の同じ行にある値を返します。
=LOOKUP(5.75, A2:A6, B2:B6)A 列で 5.75 を検索し、次に小さい値 (5.17) を一致する値として見つけて、B 列の同じ行にある値を返します。
=LOOKUP(7.66, A2:A6, B2:B6)A 列で 7.66 を検索し、次に小さい値 (6.39) を一致する値として見つけて、B 列の同じ行にある値を返します。
=LOOKUP(0, A2:A6, B2:B6)A 列で 0 を検索し、0 が列 A の最小値 (4.14) より小さいため、エラーを返します。#N/A
  1. これらの式で結果を表示するには、Excel ワークシートで対象の式を選択して、F2 キーを押してから Enter キーを押さなければならない場合があります。 必要に応じて、列幅を調整してすべてのデータを表示してください。

配列形式

ヒント: 配列形式の代わりに target=”_blank” title=”VLOOKUP” rel=”noopener”>VLOOKUP または target=”_blank” title=”HLOOKUP” rel=”noopener”>HLOOKUP を使うことを強くお勧めします。 target=”_blank” title=”VLOOKUP の使い方についてはこちらのビデオに含まれる例を参照してください” rel=”noopener”>VLOOKUP の使い方についてはこちらのビデオに含まれる例を参照してくださいLOOKUP の配列形式は、他のスプレッドシート プログラムとの互換性のために提供されますが、その機能は制限されています。

配列形式の LOOKUP 関数は、配列の最初の行または列で指定された値を検索し、値が見つかると、配列の最後の行または列の同じ位置にある値を返します。 この形式の LOOKUP 関数を使用するのは、検索する値が配列の最初の行または列にある場合です。

構文

LOOKUP(検査値, 配列)

LOOKUP 関数の配列形式書式には、次の引数があります。

  • 検索値 必ず指定します。 LOOKUP で配列内で検索する値を指定します。 検査値 には、数値、文字列、論理値、または値を参照する名前やセル参照を指定できます。

    • LOOKUP では、** 検査値** が見つからない場合、配列内で** 検査値** 以下の最大値が、一致する値として使用されます。

    • 検査値 **が、(配列の次元に応じて) 先頭行または先頭列に含まれる最小値よりも小さい場合は、LOOKUP** では、エラー値 #N/A が返されます。

  • 配列 必ず指定します。 検査値と比較する文字列、数値、または論理値を含むセル範囲を指定します。

配列形式の LOOKUP 関数は HLOOKUP 関数と VLOOKUP 関数によく似ています。 ただし、HLOOKUP 関数が** 検査値** を先頭行で、VLOOKUP 関数が先頭列でそれぞれ検索するのに対して、LOOKUP は指定された配列の次元に応じて先頭行または先頭列で検索します。

* 横長の (行数より列数が多い) 配列の場合は、**LOOKUP** では、先頭行で** _検査値_ が**検索されます。

* 正方形 (行数と列数が等しい) または縦長の (列数より行数が多い) 配列の場合は、**LOOKUP** では、先頭列で検査値が検索されます。

* **HLOOKUP** 関数と **VLOOKUP** 関数では、検索対象となる行番号または列番号を指定できますが、**LOOKUP** 関数では、最終行または最終列の値が検索対象として自動的に選択されます。

重要: 配列内の値は、…、-2、-1、0、1、2、…、A-Z、FALSE、TRUE の昇順に配置する必要があります。それ以外の場合、 LOOKUP は正しい値を返さない可能性があります。 英字の大文字と小文字は区別されません。

上部へスクロール