【EXCEL | NOTE】配列定数って何?

スポンサーリンク

配列定数って何?

配列定数とは、ワークシート上ではなく、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^)

このように、配列定数を使うことでアイデア次第では、様々な場面で活用が可能です。

必須の項目では無いですが、一歩上を目指す皆さんは覚えておいてください!