執筆:EugeneAmnis
配列
配列とは数学でいう線形代数または行列と呼ばれるものです。n行 × m列 のデータの並びのことを言います。 分かりやすく言えば表と言えます。Excelではテーブルだけでなく、1つのセルの中にも配列を設定する事ができます。 また、関数でも配列を引数として使用する事で計算の幅が広がります。
Excelでは配列数式と配列定数の2種類があります。
配列数式
範囲に結果を返す
配列数式は関数の引数に配列を使用する関数のことです。戻り値は範囲の場合もあります。TRANSPOSE関数やFREQUENCY関数も配列数式です。 配列数式は範囲の計算結果を範囲に返す事ができます。例えば以下のように範囲を選択し、 配列数式で式を入力すると結果が即座に選択した範囲に反映されます。( 入力の際にはWindowsではcontrol + shift + enter、Macの場合はcommand + returnとなります。)
このメリットは通常、合計金額を求める際は1行毎に違う数式を入力しなくてはなりませんが、配列数式の場合はすべて同じ数式で済むので保守性が向上します。 配列数式は1行のみ変更する事ができない為、堅牢性が向上します。(削除する際は範囲を選択後に ホーム > 編集 > クリアを実行する必要があります。)
ただし、デメリットとしてテーブルでは使用できないという点があります。(Excel 2011 for Mac ではエラーで強制終了します。)
範囲の計算
範囲を引数にして結果を1つのセルに返すこともできます。例えば、上記で求めた各行の合計金額の合計を求める場合は通常各行の合計を足して求めますが、 配列数式では同じ範囲を引数にするだけで求める事ができます。これにより、途中の式のエラーを拾う事なく結果が独立的に求まるので安定性が向上します。
範囲から範囲へ
範囲を引数として範囲に結果を返すこともできます。
複数のセルが1つの数式を共有していることを配列範囲と呼び、引数に配列を使用したものを配列引数と言います。
配列定数
配列定数とは、セル内に以下のような形式で入力された値のことです。3 × 3の配列定数と言います。
{ 1,2,3;4,5,6;7,8,9}
,が列を表し、;が行を表しています。つまりこの配列定数は以下の表と同じであるということです。
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
配列をうまく使うことで、ブックの保守性や堅牢性などが向上します。また、解析などでは大きく効果を発揮するかもしれません。使ってみてはいかがでしょうか?