【GAS基礎講座 3. 】シート間で値の取得や設定(Gスプレッドシート)

基礎講座

GAS基礎講座一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【GAS基礎講座 2. 】ループを使い4つのセルに5を足し込んでいく方法(for)
GASでループさせることができるようになります。 一つの動作を連続して行うことができます。

ループはどうでしたか?

なかなかおもしろかったんじゃ
ないでしょうか?

さて、今回は、さらに価値の高い方法をお伝えします。


これを知ることであなたは、

  • GASでシート間での値の取得や設定ができるようになります。

今までは、今開いているシートの
操作だけでしたが、シートを指定して
操作できるようになります。

なので、自由自在にシート間で
値のやり取りをできるようになるのです。

逆に、知らないと、
今開いているシートの操作しか
できないので、いつまで経っても

所詮「井の中の蛙」です。

ぜひ、縦横無尽に
ダイナミックにシートの枠組みに
捉われずにGASってください。

そして、

 

こんな感じで
サクッと答えてあげてください。

シートを特定して操作するには

特定のシートを操作するのは簡単です。
単にシート名を入力すればいいだけです。

 

動画はこちら

【GAS基礎講座 3 】スプレッドシート シート間における値のやり取り

スクリプト



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);
  }
  */
  
  var targetSheet = app.getActiveSpreadsheet().getSheetByName("シート3");
//  targetSheet.getRange(1,2).setValue(7);
  
  var temp = targetSheet.getRange(1,2).getValue();
  
  var secondSheet = app.getActiveSpreadsheet().getSheetByName("シート2");
  secondSheet.getRange(10, 2).setValue(temp);
  

  
}

マインドセットします。

マインドセット
シートを指定することでGASの幅が大きく広がる

今回は、とてもコスパのいい
ノウハウです。

単にシートを指定できるように
なるだけで、大きく世界が広がります。

では、今回のGoogleシートマスターへの究極の方法です。

Step1.
getSheetByName()を使って
シートオブジェクトを取得する

Step2.

getValue()してみる

Step3.

setValue()してみる
では、早速別シートの値を
取得してみてください。
今すぐです。

これで、GASの世界が
大きく広がりました。

最後までご覧いただきありがとうございます。

 

 

 

GAS基礎講座一覧

コメント

  1. rinsuke より:

    同一のスプレッドシートでほかのシートにある値を一つにまとめて表示したいのですが、取得先のシートは増えることがあり、データも表のようにまとまっておらず(飛び飛びのセルのため)配列は使用できなさそうです。
    =を使用して表示はできるのですが、いちいちシート名を修正するのが大変です。
    GASやほかの関数で一度で取得できる方法はないでしょうか??

    • hiroshi より:

      rinsukeさん、コメントありがとうございます。
      サンプルとなるシートをご提供いただければ、
      そのシートにそって改善案を提案できるかもしれません。

タイトルとURLをコピーしました