【GAS入門】配列を使って九九の表をスプレッドシートに作ってみよう
配列とは
プログラムにおける「配列」とは、情報を記憶しておくための箱である変数の一つで、複数の箱が連なっているものの事をいいます。もう少し簡単に言うと、一つの変数の中に、複数の値を入れることが出来る、つまり複数の器を一つのかたまりとして扱うことができます。一つの変数で複数入るって便利だよねって思うかもしれませんが、使い方次第では扱いづらい事例もあります。プログラムを沢山書いていると理解できる部分になりますので、そんなもんかなぁ~?って感じで頭の片隅に覚えておけば良いと思います。
配列のイメージのとおり、aという変数に6個の数字を分けて入力することができます。よく説明で使われるのは、クラス40名のデータを変数に入力するには?という説明です。通常、40個の変数を用意しなければならないのですが、配列であれば1つでOKです。
配列を使ったプログラミングの例
変数に代入した数字がしっかりと反映されているかを確認するプログラムを記載します。もちらん、今回もGAS(GoogleAppsScript)を使って検証です。無料は無敵ですよね。プログラムの解説をします
「ans.length」は、lengthメゾットを利用しています。
lengthメゾットは、文字列の数を返すもので、
length と length() では異なります。
配列で作成した数って毎回数えるの大変ですよね。
そこでlengthメゾットの出番! このメゾットを使えば、
配列で作成した数を自動で算出します。
for文の「 i < ans.length 」の部分ですね。
function multiplication() {
let ans = new Array(30, 40, 50);
let sum = 0;
let i;
for (i = 0 ; i < ans.length; i++){
console.log('変数',i,'個目',ans[i]);
sum += ans[i];
}
}
GAS(GoogleAppsScript)を使って九九の表を作成しよう
では、スプレッドシートに九九の表を作成しましょう。下記のコードで作成可能です。
しかし、スプレッドシートへ記載すれば配列使わずに九九の表ができてしましました。。。(汗) C言語やベーシック言語の癖が出ましたね。
まあ、スプレッドシートには下記のプログラムで表ができるので勉強には良いと思います。
プログラムの解説です。
九九の表を作成するポイントは、2重ループになります。
掛け算は、〇×△=□の形です。
〇は、
1→2→3→4
△は
1→2→3→4
です。これで2重ループが必要なことがわかります。
最後は、スプレッドシートに掛け算した値を記載して終了です
function multiplication() {
let i;
let m;
for(i = 1; i < 10; i++){
for(m = 1; m < 10; m++){
SpreadsheetApp.getActiveSheet().getRange(i,m).setValue(i*m);
}
}
}
配列を使って九九の表を作ろう
配列を使った九九の表になりますが、スプレッドシートに記載するわけではないので、ログで確認することになります。ポイントは、配列の初期化です。先の説明では、
let ans = new Array(30, 40, 50);
で説明していました。今回は、下記のような式で宣言してます。
let ans = [];
宣言方法が異なります。今回は、配列の変数に何種類代入するかわからないので、下記のような宣言方法をとります。ただ、容量というかメモリの利用率から考えれば、
let ans = [81];
が良いかと思います。どちらも同じ結果です。基本的に、メモリの使用はおさえるので、81を入れたプログラムの方がよいかと思います。
function multiplication() {
let i;
let m;
let cnt = 0;
let ans = [];//配列の初期化
for(i = 1; i < 10; i++){
for(m = 1; m < 10; m++){
ans[cnt] = i*m;
console.log('変数',cnt,'個目',ans[cnt]);
cnt++;
//SpreadsheetApp.getActiveSheet().getRange(i,m).setValue(i*m);
}
}
}
終わりに
配列や変数については、プログラムをするうえで絶対に必要な考え方です。色々なプログラムを書いて習得しましょう。