配列定数って何?
配列定数とは、ワークシート上ではなく、EXCEL(コンピュータ)のメモリ上に仮想的に表のようなデータを作成したものです。
EXCEL関数の引数に指定することも可能で、数式を簡潔に記述したりする場合にも使えます。
とは言っても、なんのこっちゃという感じですねw
実際に見てみましょう!
記述の方法
配列数式を作成する表は、「{}」波括弧、「,」カンマ、「;」セミコロンで表現します。
- 「{}」波括弧…データ全体
- 「,」カンマ…列
- 「;」セミコロン…行
例えば、1行3列の表を配列定数で表すと
{“A”, “B”, “C”}
となります。
実際にEXCELに次のように入力するとよく分かります。

決定すると

3行1列は
{1; 2; 3}

3行3列は、次です。
{1, 2, 3; 4, 5, 6; 7, 8, 9}

配列定数を数式内で利用する
それでは、配列定数を数式内で利用してみましょう。
作成している表に、別で作成したマスタデータからVLOOKUP関数でデータを持ってくることってよくあると思いますが、時には”わざわざマスタデータ作る”までもないようなものってありますよね?
そんなときに、配列定数を使うと、一つのシートで簡単に処理出来て便利です。
例えば次のようなデータがあったとします。
なんかしらの会合の参加費の計算を役職ごとにしたいとします。

参加費の条件は、
役職 | 参加費 |
---|---|
部長 | 10000円 |
課長 | 7000円 |
係長 | 5000円 |
一般 | 3000円 |
です。
表の外に上のようなデータ表を作成して、VLOOKUP関数で当てて引っ張るのが普通のやり方でしょうか。

こんな感じになりますね。
配列定数を使うとどのようになるでしょう。
配列定数を使うのは、VLOOKUP関数の構文で言う、引数の「範囲」の部分です。
先程の数式では、「$E$2:$F$5」と指定しているところですね。
この部分を配列定数で、記述すると次のようになります。
{“部長”, “10000円”; “課長”, “7000円”; “係長”, “5000円”; “一般”, “3000円”}
となります。
こいつを先程のVLOOKUP関数の数式の引数「範囲」の部分と入れ替えます。
元(C2セルの数式です)
=VLOOKUP(B2, $E$2:$F$5, 2, 0)
入れ替え
=VLOOKUP(B2, {“部長”, “10000円”; “課長”, “7000円”; “係長”, “5000円”; “一般”, “3000円”}, 2, 0)

確定して、C列全部にコピーします。EF列もいらなくなるので消しちゃいましょう!

こうすることで、マスタデータは必要なくなり、1枚のシートでスッキリと収めることが出来ました(^o^)
このように、配列定数を使うことでアイデア次第では、様々な場面で活用が可能です。
必須の項目では無いですが、一歩上を目指す皆さんは覚えておいてください!
コメント