GASでスプレッドシートのセルに数式を書き込む(IF文で日付で比較する)

A2セルの日付が今月初以降か判断する数式をB2セルに書き込むプログラムを作っています。

GAS

1function myFunction2() { 2 const ss = SpreadsheetApp.getActiveSpreadsheet(); 3 const st = ss.getSheetByName("sheet"); 4 const today = new Date(); 5 st.getRange("B2").setFormula('=IF(A2>=DATE(' + today.getFullYear() + ',' + today.getMonth() + 1 + ', 1), "期間内", "期間外")'); 6}

今月初の日付を他の箇所でも利用することがあるので、変数startDateとして定義します。
startDateを定義するとsetFormula内(6行目)をより簡潔に書く方法はないでしょうか。
よろしくお願いします。

GAS

1function myFunction3() { 2 const ss = SpreadsheetApp.getActiveSpreadsheet(); 3 const st = ss.getSheetByName("sheet"); 4 const today = new Date(); 5 startDate = new Date(today.getFullYear(), today.getMonth(), 1); 6 st.getRange("B2").setFormula('=IF(A2>=' + startDate? + ', "期間内", "期間外")'); 7} 8

コメントを投稿

0 コメント