#7GAS入門−大量のデータを一気に処理をする

GAS

目次

  • new Date() 現在時刻の取得をします。
  • 配列  名前を格納する配列です。
  • push  空の配列に名前を追加するメソッドです。
  • forループ  1000行分繰り返します。
  • getRange()  シートの範囲を取得します。
  • setValues()  セル範囲に値を代入。(複数系の命令)

今回は100行のデータから1000行のデータに増やしてみます。

GASではgetRange()setValue()などのシートを読み書きする処理には時間を要します。

では、1000行の処理にかかる時間を計ってみます。

new Date()

実行前の時刻を変数startTimeと宣言します。

処理にかかった時間現在時間 ー startTime(実行前の時刻)

経過時間をlogでみてみましょう。

2157.0秒(ミリ秒表示なので約2秒強)かかりました。

ここまでの処理を見ておきます。

時間短縮の方法を見ていきます。

時間がかかるシートの読み書きを一度で済むように

前もって配列scoresを準備し、forループ構文で配列に名前を格納しておきます。

配列

では、配列を宣言します。

push

配列scoresに名前を追加するにはpushメソッドを使います。

 名前を入れていくには

でしたね。

点数は

 でした。

forループ

これらをforループ構文に入れてやります。

getRange()

次にgetRange()でセルの範囲を取得します。

一行1列目から1000行2列分ですね。

setValues() 

その範囲にsetValues()で点数scoresの中身を入れます。

 最後に終了時刻からstartTimeを引きます。

 では実行結果を見てみます。「表示」→「ログ」ですね。

126ミリ秒ですから、0.126秒でした。

コメント