見出し画像

二次元配列、配列、インデックス、要素

オレンジピーチのトシです。
今回は、GASで頻繁に使われる配列について説明したいと思います。
非プログラマーの人には、聞きなじみのない言葉だと思いますが、スプレッドシートをイメージしながら読んで頂けると、理解しやすいかと思います。

今回は、説明文のような内容が続くと思いますが、少しでもGASの概念が理解できるとHappyです。
(すでに二次元配列等の理解がある方は、繰り返しになるので、復習したいと思う人は読み進めてみて下さい。)

プログラムの概念:二次元配列、配列、インデックス、要素

配列

配列は、同じ型のデータを順番に格納するための箱のようなものです。それぞれの箱には番号が振られており、この番号を使って中のデータを取り出したり、変更したりできます。

例:

numbers = [10, 25, 8, 33]

この例では、numbersという配列に4つの整数が順番に格納されています。
スプレッドシートに列方向(横並び)で数字が並んでいるイメージを持って頂けると良いかと思います。

配列のイメージ

インデックス

配列のそれぞれの箱に振られた番号をインデックスと呼びます。インデックスは0から始まり、配列の最初の要素はインデックス0、次の要素はインデックス1、というように続きます。

例:

numbers = [10, 25, 8, 33]
print(numbers[0])  # 10が出力される
print(numbers[2])  # 8が出力される

スプレッドシートでの行番号、列番号にあたるものというイメージを持って頂けると良いかと思います。インデックスを指定することで、そのデータがある位置を指定することが出来ます。
注意点は、配列で持った時のインデックスは「0」から始まります。
(混乱させるのが、スプレッドシートで行番号・列番号は「1」から始まります。表示上はA,B,Cとアルファベット表記の列番号も、COLUMN関数等で列番号を取得すると、1から始まる数値が得られます。

この違いはコードを書く上で、よく混乱するポイントですので注意してください。

スプレッドシートの列番号

要素

配列の中に格納されている個々のデータを要素と呼びます。

例:

numbers = [10, 25, 8, 33]

この例では、10、25、8、33が配列numbersの要素です。
スプレッドシートのセル値のイメージです。

二次元配列

二次元配列は、配列の中にさらに配列が格納されている構造です。表のようなデータを表すのに便利です。

例:

table = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

この例では、tableという二次元配列に3つの配列が格納されています。それぞれの配列は3つの整数を含んでいます。

二次元配列の要素にアクセスするには、2つのインデックスを使います。1つ目は行を表し、2つ目は列を表します。

例:

table = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
print(table[1][2])  # 6が出力される (2行目の3列目)

二次元配列は、表形式になったスプレッドシートのシートのイメージです。

二次元配列のイメージ

1列だけの二次元配列となった場合
1列だけの表のイメージです。
このような場合に、1行の配列みたいに記載しないよう注意が必要です。

table = [
    [1],
    [2],
    [3]
]
1列だけの二次元配列のイメージ

まとめ

今回は、「配列」、「インデックス」、「要素」、「二次元配列」について紹介をしました。

これらの概念は、GASでデータを効率的に扱うために非常に重要です。ぜひ理解を深めて、活用してみてください。

いいなと思ったら応援しよう!

オレンジピーチ★トシ
この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。