STEP 1 入門編

2.配列の基本的な考え方

配列とは、ごく簡単にいってしまうと、複数の値をひとまとめにして扱えるように工夫されたデータの構造のことです。

Excelやプログラミングでは、数値や文字列といった「値」を持ったデータを扱います。
普通のデータを一戸建ての家とするなら、配列というのは、いわばアパート・マンションのような集合住宅です。
ここでは各データの「値」を、それぞれの家(部屋)に住んでいる住人の数ということにしましょう。

たとえば、Aという一戸建ての家には4人の家族が住んでいます。
一方、Bという平屋建てのアパートには4つの部屋があり、それぞれに異なる数の住人が住んでいます。
また、Cという二階建てのマンションには各階に3つずつ、合計6つの部屋があり、やはりそれぞれ異なる数の住人が住んでいます。
これらを図で表してみます(右図)。

Aの家の住人の数を知りたい場合、この家を特定するためには「A」という情報だけがあれば十分です。
一方、Bのアパートの左から三番目の部屋に住んでいる住人の数を知るためには、「B」の「3号室」という情報が必要です。
Cのマンションの場合はさらに、「C」の「2階」の「1号室」といった3つの情報が必要となります。1つの部屋番号で表されるにしても、「201号室」のような、階の情報を含んだものになるでしょう。

この例で、Aを一般的なデータとするなら、BとCは配列ということになります。

まず、Bのアパートのような構造のデータについて考えてみましょう。
階が1つしかないので、部屋番号は単純に1桁だけでOKです。このような構造のデータを「1次元配列」といいます。
これらは「B」としてまとめて扱うこともできますし、「B」の「2番目」のデータと指定して、その値を調べたり、現在の値を削除して別の値と入れ替えるといった操作が可能です。

一方、Cのような構造の場合、階も各階の部屋も複数あるため、部屋を特定するためには階の番号と部屋の番号が必要となります。このような構造のデータを「2次元配列」といいます。
2次元配列の構造をイメージするための手っ取り早い方法は、Excelのワークシートを思い浮かべていただくことです。列方向の番号をアルファベットで、行方向の番号を数字で表し、それらを組み合わせた「A1」などのセル番地でデータを特定する、という仕組みは、まさに2次元配列そのものです。
一般的な2次元配列では、ワークシート同様、縦方向の要素のまとまりを「列」、横方向の要素のまとまりを「行」と呼び、この2方向の位置を表す2つの番号を組み合わせて、その中の値を特定しています(マンションの階は下から1、2……となりますが、配列は通常上から番号を付けて表されます)。

「○次元」というのは、このような、番号を付けていく方向の数です。
3次元程度までは何とか理解できるでしょうが、4次元以上になると、ちょっとイメージするのが難しいかもしれません。VBAでは仕様的には60次元までの配列を扱うことができますが、ExcelやExcel VBAでの作業では、通常は2次元配列まで理解していれば十分でしょう。

Excelのワークシート上の作業では、数式の中で配列を扱うことができます。また、配列として表されたデータは、同様の構造を持ったワークシート上のセル範囲に表示させることができます。
具体的には、数式の中で「配列定数」および「配列数式」という形で配列を利用することができます。Excelの入門書的な書籍ではほとんど説明されていませんが、これらを理解しているかどうかで、数式で実現できる内容が、まったくと言っていいほど変わってきます。

<1.配列で何ができる?    3.配列定数について>