ExcelのLOOKUP関数・配列形式の使い方
この記事では、Excelの「LOOKUP関数・配列形式」の使い方について解説します。配列形式のLOOKUP関数は、検査値と一致する値を配列から検索し、最後の行または列の対応する値を返します。
LOOKUP関数・配列形式の書式
配列形式のLOOKUP関数の書式は以下の通りです。
LOOKUP(検査値, 配列)
引数について説明します。
- 検査値:配列内で検索する値を指定します。
- 配列:検索対象の配列を指定します。配列は、最後の行または列に対応する値が結果として返されます。
LOOKUP関数・配列形式の使い方
以下に、LOOKUP関数・配列形式を使った簡単な例を示します。
次の表に、従業員の名前、性別、年齢が記載されているとします。
\ | A | B | C |
---|---|---|---|
1 | 名前 | 性別 | 年齢 |
2 | 山田 | 男 | 34 |
3 | 佐々岡 | 女 | 25 |
4 | 岸川 | 男 | 28 |
この表から、指定された名前に対応する性別を取得する場合、次のようにLOOKUP関数・配列形式を使用します。
=LOOKUP("佐々岡", A2:C4)
この計算式では、名前のセル範囲(A2:A4)で検査値「佐々岡」を検索し、年齢が記載されている最後の列(C列)の対応する値(「25」)が返されます。
注意点
LOOKUP関数・配列形式を使用する際の注意点をいくつか挙げます。
- 検査範囲(検査値を検索する範囲)は昇順に並べられていることが望ましいです。昇順でない場合、予期しない結果が返ることがあります。
- 配列内で検査値が見つからない場合、検査値よりも小さい最も近い値が返されます。
- 検査値が配列内の最小値よりも小さい場合、LOOKUP関数はエラーを返します。
別の例
次に、LOOKUP関数・配列形式を使用して、商品コードに基づいて商品価格を取得する例を示します。
次の表に、商品コードと商品価格が記載されているとします。
\ | A | B |
---|---|---|
1 | 商品コード | 価格 |
2 | 1001 | 2000 |
3 | 1002 | 3000 |
4 | 1003 | 2500 |
この表から、指定された商品コードに対応する価格を取得する場合、次のようにLOOKUP関数・配列形式を使用します。
=LOOKUP(1002, A2:B4)
この計算式では、商品コードのセル範囲(A2:A4)で検査値「1002」を検索し、価格が記載されている最後の列(B列)の対応する値(「3000」)が返されます。
追加のサンプル:検査値が完全一致していない場合
次に、検査値が検索対象と完全一致していない場合のLOOKUP関数・配列形式を使ったサンプルを示します。
次の表に、製品ID、製品名、在庫数が記載されているとします。
\ | A | B | C |
---|---|---|---|
1 | 製品ID | 製品名 | 在庫数 |
2 | 1101 | 商品A | 25 |
3 | 1103 | 商品B | 35 |
4 | 1105 | 商品C | 15 |
5 | 1107 | 商品D | 40 |
6 | 1109 | 商品E | 20 |
この表から、指定された製品IDに対応する在庫数を取得する場合、次のようにLOOKUP関数・配列形式を使用します。
=LOOKUP(1106, A2:C6)
この計算式では、製品IDのセル範囲(A2:A6)で検査値「1106」を検索しようとしますが、一致する値はありません。そのため、検査値よりも小さい最も近い値が返されます(超えない範囲で最も小さい値)。この場合、最も近い値は「1105」(商品C)となります。
したがって、在庫数が記載されている最後の列(C列)の対応する値(「15」)が返されます。