【営業でも分かる!】指定したセルの日付から、曜日番号を取得する方法

皆さん、何月何日って、何曜日だっけ?
と、思うことありますよね。検索で日付を入れれば、確かに曜日も教えてくれますが、GASでも可能だったります。

例えば、スプレッドシートの指定したセルに記載されている日付を元に、その隣に、曜日を記入するスクリプトを書いてみます。
(まずは、曜日表示させるための、数字までやってみます。)

目次

今回の目標

スクリプト実行前

スプレッドシートに記載している日付をクリック(セルが選択された状態)してから、
⇒実行(Ctrl+R)。。。
下記の様な表示 ↓↓↓↓

スクリプト実行後

実現のスクリプトと解説

下記をコンテナバインドスクリプトのスクリプトエディターにコピペして、保存(Ctrl+S)⇒
スプレッドシートに記載している日付をクリック(セルが選択された状態)してから⇒
スクリプトを実行(Ctrl+R)。。。

【前提】コンテナバインドスクリプトで作成しています。

//ファンクション名を「dayOfWeek」にする(ちなみに、dayOfWeekの部分は、何でも良いです)
function dayOfWeek(){

 //スプレッドシートの「アクティブなスプレッドシート全体」を取得し、それを「ss」に代入
 var ss = SpreadsheetApp.getActiveSpreadsheet();

 //「ss(アクティブなスプレッドシート全体)」の「アクティブなシートだけ」を「sheet」に代入
 var sheet = ss.getActiveSheet();

 //「sheet(アクティブなシート)」の「現在選択している(カーソルがあっている)セル」を「activeCell」に代入
 var activeCell = sheet.getActiveCell();

 //日付情報を扱うDateクラスを用いて「activeCell(現在選択している(カーソルがあっている)セル)」に記載されている日付を取得し、その日付から曜日(曜日番号)を取得し、その曜日(曜日番号)を「dayNum」に代入
 var dayNum = new Date(activeCell.getValue()).getDay();

 //「activeCell(現在選択している(カーソルがあっている)セル)」の場所から「0」=現状の行で、「1」=1つ隣のセルに、「dayNum(曜日番号)」を入れなさい。
 activeCell.offset(0, 1).setValue(dayNum);
}

どうでしょうか?スプレッドシートに「0」~「6」が表示されましたでしょうか?
数字の意味合いとしては、日曜日が「0」で、土曜日が「6」です。
※なので、曜日の番号に「7」はありません。

まとめ

今回のスクリプトの中で一番重要なのは、日付情報を扱うDateクラスを用いて、アクティブなセルから日付を取り出し、その日付から.getDay()で曜日(曜日番号)を取得することができるというところです。

では、次は、その曜日番号から、曜日に変換してみましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA