Home » Googleスプレッドシートの使い方 » Google Apps ScriptでEDATE関数を入力する

対象:Googleスプレッドシート & Google Apps Script

「gas スクリプト edate」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excelと同じく、Googleスプレッドシートにも、nか月後・nか月前の日付を計算するのに便利なEDATE関数があります。

「gas スクリプト edate」
という検索キーワードは、GAS(Google Apps Script)を使って、GoogleスプレッドシートにEDATE関数を使った数式を入力するスクリプトを探していた方によるものでしょうか。

[スポンサードリンク]

アクティブセルにEDATE関数を入力するサンプルスクリプト

以下のようなスクリプトで、アクティブなセルに、左隣のセルに入力されている日付の1か月後の日付を求める、EDATE関数を使った数式を入力することができます。

function set_EDATE_function(){

 var bk = SpreadsheetApp.getActiveSpreadsheet();
 var sh = bk.getActiveSheet();
 var rng = sh.getActiveCell();

 var fml = '=EDATE(R[0]C[-1], 1)';
 rng.setFormulaR1C1(fml);

}

R1C1形式で数式を作成しておいてから、
 var fml = '=EDATE(R[0]C[-1], 1)';

Range.setFormulaR1C1()メソッドで、アクティブなセルに数式を入力しています。
 rng.setFormulaR1C1(fml);

B列にEDATE関数を入力するサンプルスクリプト

以下のようなスクリプトで、B列に左隣のセルに入力されている日付の1か月後の日付を求める、EDATE関数を使った数式を入力することができます。

function set_EDATE_function_rowB(){

 var bk = SpreadsheetApp.getActiveSpreadsheet();
 var sh = bk.getActiveSheet();

 var end_row = sh.getLastRow();
 var fml = '=EDATE(R[0]C[-1], 1)';

 for(var i=1; i<=end_row; i++){
  sh.getRange(i, 2).setFormulaR1C1(fml);
 }

}

Spreadsheet.getLastRow()メソッドを使って最終行番号を取得しておいてから、
 var end_row = sh.getLastRow();

for文を使ってB列にEDATE関数を使った数式を入力しています。
 var fml = '=EDATE(R[0]C[-1], 1)';
 for(var i=1; i<=end_row; i++){
  sh.getRange(i, 2).setFormulaR1C1(fml);
 }

[スポンサードリンク]

Home » Googleスプレッドシートの使い方 » Google Apps ScriptでEDATE関数を入力する

「Googleスプレッドシートの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.