ですぽんたにっき

基本的には 3dsMax や Unity 関係の記事で。その他色々マイブームなネタを書いていきます。

【GoogleSS】最終行を取得するGASスクリプトを高速化したい

またまた過去記事で恐縮なのですが、こんな記事を見つけました。

www.relief.jp

上記記事のコードを少し弄って処理の高速化を図れるように頑張ります!
٩(๑❛ᴗ❛๑)۶

f:id:ponta565:20170311144302p:plain

上記記事の書き方だと、①SpreadsheetAppのAPIが for文の中で呼ばれているので多分重いと思うんですよね(^^)

なので下記の書き方に変更してみました。

GoogleSSで最終行を取得して移動する

・7行目で範囲選択してA列のセルをすべて取得している(API呼び出し1回)
・10行目で 上記で範囲選択したセル内の値をすべて配列に格納している(API呼び出し1回)
・13行目で forを回すわけですが、14行目のifでは、 API呼び出しを1回も行っておりません!あくまで配列内の値を比較しているだけです!

きっとこれで早くなってるはずです!

勝負結果

「最終行へ」:今回改造したコード
「最終行へ(修正前」:冒頭で貼ったリンクのコード

f:id:ponta565:20170311154704g:plain

なんともまぁ、微妙なスピードアップですね・・・・
めちゃくちゃ爆速になるかと思ってたんですけど残念です。
だれか、理由がわかる方がいらっしゃったらコメントください(๑´•.̫ • `๑)