ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】手軽にシート名を取得する方法 GETSHEETNAME (Gスプレッドシート)
残念ながら、スプレッドシートでは、
CELL関数で"filename"がサポートされていません。
なのでスプレッドシートは、GASを使用しないと
シート名を取得する事ができないのです。
シート名取得できましたか?
今回は、さらに価値の高い方法をお伝えします。
これを知ることであなたは、
- GASでループさせることができるようになります。
- 1つの動作を連続して行うことができます。
今回から、ついにプログラミング的な
事をやっていきます。
ループっていうのは、同じ処理を
「何度でも」行うことができます。
これが、まさにプログラミングの醍醐味です。
ループさせることができるようになるだけで
プログラミングスキルが大幅にレベルアップします。
逆に、知らないと
同じ処理を何度も行う場合は、
「コピペを何回も行う。」
という思考停止の単純作業をこれからも
ずーっとやり続けることになります。
例えば、今回の課題(セルの値を取得して5をプラスを4回行う)を
ループを使わずにやると、こんなおこちゃまロジックになってしまいます。
同じような処理が見事に4回並んでいます。
var tempt = activesheet.getRange(1,1).getValue(); tempt = tempt + 5; activesheet.getRange(1,2).setValue(tempt); tempt = activesheet.getRange(2,1).getValue(); tempt = tempt + 5; activesheet.getRange(2,2).setValue(tempt); tempt = activesheet.getRange(3,1).getValue(); tempt = tempt + 5; activesheet.getRange(3,2).setValue(tempt); tempt = activesheet.getRange(4,1).getValue(); tempt = tempt + 5; activesheet.getRange(4,2).setValue(tempt);
これは、まだ4回だからこの程度ですが
100回とか言われたら、目も当てられません。
なので、サクッとマスターして
こんな風に答えてあげてください。
動画はこちら
スクリプトはこちら
function myFunction() {
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var activesheet = ss.getActiveSheet();
for(var i=8;i<=11;i++){
var tempt = activesheet.getRange(i,1).getValue();
tempt = tempt + 5;
activesheet.getRange(i,2).setValue(tempt);
}
}
ポイント
for文というは、条件式の条件を満たす間{}内の処理を実行します。
for(初期化式; 条件式; 増減式){
//条件式がtrueの間、実行する
}
上記スクリプトの場合
となります。
マインドセットします。
マインドセット
同じような処理はコンピュータにやらせろ
同じような処理はコンピュータにやらせろ
今回のループ処理は、コンピュータが
最も得意とする繰り返しです。
ぜひ、ループをマスターして
いろんな事をループさせて
みてください。
では、今回のGoogleシートマスターへの究極の方法です。
Step1.
スクリプトエディタを開く
Step2.
セルの値を取得し5を足す
GASを作る。
Step3.
ループさせ100個のセルに記載するようにする
スクリプトエディタを開く
Step2.
セルの値を取得し5を足す
GASを作る。
Step3.
ループさせ100個のセルに記載するようにする
では、早速、スクリプトエディタを
開いてください
今すぐです。
ループを使いこなせるようになると
GASの世界が大いに広がります。
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS基礎講座 3. 】シート間で値の取得や設定(Gスプレッドシート)
GAS(Google Apps Script)でシート間での値の取得や設定ができるようになります。