VLOOKUPの配列定数|表を作らずに得点から評価を求める

VLOOKUPの配列定数|表を作らずに得点から評価を求める
目次

はじめに

ExcelのVLOOKUP関数は通常、参照する表(範囲)を指定して使用しますが、データ量が少ない場合や、参照表を別途作成するのが面倒な場合に、関数内に直接配列定数を記述することで、表なしで検索を行うことができます。この記事では、VLOOKUP関数で配列定数を使用する方法を、画像例を交えて詳しく解説します。

VLOOKUP関数とは?(復習)

VLOOKUP関数は、表の左端の列で特定の値を検索し、同じ行の別の列から値を返す関数です。

基本的な構文(復習)

Excel

VLOOKUP関数の構文
数式=VLOOKUP(検索値,範囲,列番号,[検索の型])
ひとことで範囲の左端の列を探し、同じ行の指定した列を返す
検索値
探す値です
範囲
表の範囲です。この記事では、セルの表の代わりに、配列定数を書きます
列番号
返す値が、範囲の左から何列目かを指定します
[検索の型]
TRUEなら近似一致(以下で最大)、FALSEなら完全一致です
補足検索の型を省略すると、TRUE(近似一致)になります。

各引数の意味は以下の通りです。

  • 検索値(必須): 検索する値を指定します。画像例では、セルB3の「得点」が検索値です。
  • 範囲(必須): 検索対象となるセル範囲を指定します。通常はセル範囲を指定しますが、ここでは配列定数を指定します。
  • 列番号(必須): 返す値がある列の番号を指定します。配列定数の中で、左から1、2と数えます。画像例では「2」が指定されており、評価が返されます。
  • 検索の型(省略可能):
    • TRUE(または1):近似一致。検索値が見つからない場合、検索値以下の最大の値が使用されます。「範囲」の左端の列は昇順に並べ替えられている必要があります。
    • FALSE(または0):完全一致。検索値と完全に一致する値のみが返されます。

配列定数とは?

配列定数とは、数式内で直接記述する値のリストです。VLOOKUP関数では、「範囲」引数にこの配列定数を指定することで、表を作成せずに検索を行うことができます。

配列定数の記述方法

  • 列の区切り: カンマ「,」を使用します。
  • 行の区切り: セミコロン「;」を使用します。
  • 全体を囲む: 中括弧「{}」で全体を囲みます。

画像例の配列定数は以下のようになっています。

配列定数:式の中に書く対応表
数式{0,"F";60,"C";70,"B";80,"A"}
ひとことで得点の下限と評価を、式の中に書いた対応表
0,"F"
0点以上60点未満は F です
60,"C"
60点以上70点未満は C です
70,"B"
70点以上80点未満は B です
80,"A"
80点以上は A です
補足「,」で列を、「;」で行を区切ります。左端(得点)は、小さい順に並べます。

これは、以下の表と同じ意味を持ちます。

得点評価
0F
60C
70B
80A

<Excelサンプルデータダウンロード>
Excel VLOOKUP関数:表なし検索の裏ワザ!配列定数でスマートにデータ参照

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

画像例の具体的な解説

画像例では、セルC3に以下の数式が入力されています。

Excel

C3に入力:得点から評価を返す
数式=VLOOKUP(B3,{0,"F";60,"C";70,"B";80,"A"},2,TRUE)
ひとことでB3の得点に当たる評価を、配列定数の対応表から返す
B3
得点のセルです
{0,"F";60,"C";70,"B";80,"A"}
式の中に書いた対応表です
2
2列目(評価)を返します
TRUE
近似一致(得点以下で最大の行)で探します
補足55点なら F、87点なら A です。

この数式は、以下の処理を行っています。

1
セルB3に入力されている「得点」(例:55)を検索値として使用します。
2
{0,"F";60,"C";70,"B";80,"A"}という配列定数を検索範囲として使用します。
3
2列目(評価)の値を返します。
4
近似一致検索を行います。

得点が55点の場合、配列定数の中で0以上60未満の範囲に該当するため、「F」が返されます(71点なら、70以上80未満なので「B」です)。

表を作らずに得点から評価を求める(VLOOKUPの配列定数)式 =VLOOKUP(B3,{0,"F";60,"C";70,"B";80,"A"},2,TRUE) の解説図。C3に入力する
C3に =VLOOKUP(B3,{0,"F";60,"C";70,"B";80,"A"},2,TRUE) を入力。55 以下で最も大きい基準は 0 → その行の評価 F

Excelのサンプルデータダウンロード

以下は、上記画像のExcelデータですので、ダウンロードして練習などに使用してください。

練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

配列定数を使ったVLOOKUPのメリット

  • 表を作成する手間が省ける: データ量が少ない場合に便利です。
  • ファイルサイズを削減できる: 参照表を保存する必要がないため、ファイルサイズを小さくできます。
  • 数式が簡潔になる場合がある: 簡単な参照であれば、数式がすっきりします。

配列定数を使ったVLOOKUPのデメリット

  • データ量が多いと見づらくなる: データ量が多い場合、配列定数が長くなり、数式が読みにくくなります。
  • 修正がしにくい: データを変更する場合、数式内の配列定数を直接編集する必要があり、修正が煩雑になる可能性があります。
  • 複雑な条件には不向き: 複雑な条件分岐や複数の列を参照する場合には、通常の表を使う方が適しています。

配列定数を使うべきケース

  • 参照するデータが少ない場合(数個程度)。
  • 参照データが固定されており、変更されることがない場合。
  • 簡単な評価や分類を行う場合。

配列定数を使わない方が良いケース

  • 参照するデータが多い場合。
  • 参照データが頻繁に変更される場合。
  • 複雑な条件分岐や複数の列を参照する場合。

まとめ

VLOOKUP関数で配列定数を使用することで、表を作成せずに簡単にデータ参照を行うことができます。データ量が少ない場合や、簡単な評価を行う場合に非常に便利です。ただし、データ量が多い場合や複雑な条件の場合は、通常の表を使う方が適しています。状況に応じて使い分けることで、Excel作業を効率化できます。

この解説で、VLOOKUP関数で配列定数を使用する方法について、より深く理解できたかと思います。この情報を活用し、Excelでのデータ分析をより効率的に行いましょう。

VLOOKUP関数と関連する検索関数の使い分けは、こちらのまとめで整理しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次