「gas スクリプト edate」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excelと同じく、Googleスプレッドシートにも、nか月後・nか月前の日付を計算するのに便利なEDATE関数があります。
「gas スクリプト edate」
という検索キーワードは、GAS(Google Apps Script)を使って、GoogleスプレッドシートにEDATE関数を使った数式を入力するスクリプトを探していた方によるものでしょうか。
アクティブセルにEDATE関数を入力するサンプルスクリプト
以下のようなスクリプトで、アクティブなセルに、左隣のセルに入力されている日付の1か月後の日付を求める、EDATE関数を使った数式を入力することができます。
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関数を使った数式を入力することができます。
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関数を入力する