「google apps script 曜日 取得」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。
GAS(Google Apps Script)で、日付データから曜日を取得するにはどうすればいいのかを探している方による検索です。
スプレッドシートのアクティブセルの日付データから曜日の数値を取得するサンプル
「google apps script 曜日 取得」
という検索キーワードだけでは詳細がわかりませんので、Googleスプレッドシート上の日付データから、曜日を表す数値を取得するスクリプトを作ってみました。
var bk = SpreadsheetApp.getActiveSpreadsheet();
var sh = bk.getActiveSheet();
var rng = sh.getActiveCell();
var day_num = new Date(rng.getValue()).getDay();
rng.offset(0, 1).setValue(day_num);
アクティブなセルに日付データが入力されているときに上記のスクリプトを実行すると、右隣のセルに、曜日を表す「0」から「6」までのいずれかの整数が入力されます。(日曜日が 0 で、土曜日が 6 です)
日付データから曜日を表す数値を取得しているのは、
var day_num = new Date(rng.getValue()).getDay();
の部分です。
この部分はGASの機能というより、JavaScriptです。
JavaScriptのDate.getDayメソッドを使うことで、日付から曜日を取得しています。
アクティブなセルの右隣のセルをRange.offsetメソッドで取得して、取得した曜日を表す数値(day_num)をRange.setValueメソッドで書き込んでいます。
rng.offset(0, 1).setValue(day_num);
スプレッドシートのアクティブセルの右隣に曜日を入力するサンプル
もう一つ、Googleスプレッドシートの日付データから、日本語の曜日を入力するスクリプトを作ってみました。
var arr_day = new Array('日', '月', '火', '水', '木', '金', '土');
var bk = SpreadsheetApp.getActiveSpreadsheet();
var sh = bk.getActiveSheet();
var rng = sh.getActiveCell();
var day_num = new Date(rng.getValue()).getDay();
rng.offset(0, 1).setValue(arr_day[day_num]);
やっていることは先のスクリプトとほとんど同じですが、日本語の曜日を入力するために、
var arr_day = new Array('日', '月', '火', '水', '木', '金', '土');
と、曜日を表す文字列を持った配列・arr_dayを作成しておいてから、その配列を使って文字列を書き込むようにしています。
rng.offset(0, 1).setValue(arr_day[day_num]);
- Newer:これから学ぶべきことが明確になった
- Older:表の最大列数を取得するWordマクロ
Home » Googleスプレッドシートの使い方 » Google Apps Scriptで曜日を取得する