「google apps script date 曜日判定」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
GAS(Google Apps Script)で、曜日を判定して、処理を分岐させるにはどのようなコードを書けばいいのかを探している方による検索でしょうか。
参考になりそうな、簡単なスクリプトを2つご紹介しておきます。
Googleスプレッッドシート上の日付データの曜日を判定してメッセージを表示するスクリプトです。
if文で曜日を判定するサンプルスクリプト
日付データの入力されているセルを選択した状態で以下のスクリプトを実行すると、日付の曜日を判定して、
「日曜日です。」
「土曜日です。」
「平日です。」
のうちいずれかのメッセージが表示されます。
var sh = SpreadsheetApp.getActiveSheet();
var rng = sh.getActiveCell();
var day_num = new Date(rng.getValue()).getDay();
var msg = '';
if (day_num === 0) {
msg = '日曜日です。';
} else if (day_num === 6) {
msg = '土曜日です。';
} else {
msg = '平日です。';
}
Browser.msgBox(msg);
}曜日の判定してメッセージを表示しているのが、
if (day_num === 0) {
msg = '日曜日です。';
} else if (day_num === 6) {
msg = '土曜日です。';
} else {
msg = '平日です。';
}
というJavaScriptのif文です。
変数・day_numが「0」なら日曜日、「6」なら土曜日、それ以外なら平日と判定しています。
変数・day_numに数値を代入しているのが、
var day_num = new Date(rng.getValue()).getDay();
の部分です。
JavaScriptのDate.getDayメソッドを使って「0」から「6」の曜日を表す数値を取得しています。
if文もDate.getDayメソッドも、GAS固有のコードではなくJavaScriptです。
GASで日付関連の処理を行うのならば、JavaScriptのDateオブジェクトについてざっくり知っておくことが必要になります。
switch文で曜日を判定するサンプルスクリプト
if文ではなく、switch文で曜日の判定を行うのなら以下のようなスクリプトです。
var sh = SpreadsheetApp.getActiveSheet();
var rng = sh.getActiveCell();
var day_num = new Date(rng.getValue()).getDay();
var msg = '';
switch (day_num) {
case 0:
msg = '日曜日です。';
break;
case 6:
msg = '土曜日です。';
break;
default:
msg = '平日です。';
}
Browser.msgBox(msg);
}先ほどのスクリプトと同じことをswitch文で行っています。
switch (day_num) {
case 0:
msg = '日曜日です。';
break;
case 6:
msg = '土曜日です。';
break;
default:
msg = '平日です。';
}
これもGAS固有のコードではなく、あくまでもJavaScriptです。
- Newer:VBAでドロップダウンリストを作成する
- Older:何のためにやっているのかという目的も明確で期待通りだった
Home » Googleスプレッドシートの使い方 » 曜日判定を行うGASスクリプト