月を切り替えると日付と曜日も切り替わる【スプレッドシート】

IT
はーさん
はーさん

1つのシートで、月を変更すると日付と曜日が切り替わるようにしたいけど、何か方法あるかな。

ママさん
ママさん

日報を作成したものがありますのでその作成方法をご紹介しますね。

完成イメージ

年月について

年月については、サンプルではリストボックスにしているが、直接入力でも問題ない。

C1に半角数値の西暦(例「2023」)、E1に半角数値の月(例「4」)の入力を行う。

プルダウンの作成方法

ママさん
ママさん

こちらのプルダウン設定は特にしなくても、手入力でも使用はできます。私が日報作成したときにした設定の一つであるため記載してます。

プルダウンの挿入

1)【挿入】ー【プルダウン】を選択。

2)右側に【データの入力規則】が表示される。オレンジの部分に、「2023」「2024」などを入力。

黄色の【別のアイテムを追加】をクリックすると、プルダウンの入力項目が増える。

プルダウンの表示スタイルの変更

1)[詳細オプション]をクリック。

2)【表示スタイル】ー【矢印】に変更。

ママさん
ママさん

同様に、「月」も作成できます。

日付と曜日の関数について

Date関数とは

DATE 関数は、「年」「月」「日」を引数にして日付データを作成する関数

Row関数とは

ROW関数は、引数に指定したセルの行番号を返す関数

関数を使って日付を表示

結論から言いますと、日付と曜日は以下の同じ式になる。曜日に変更する方法については、「日付を曜日に変更する方法」に記載。

=Date(E$1,G$1,Row()-1)
ママさん
ママさん

A2に入っている関数をもとに説明します。
=Date(年,月,日)が入るように値を取得します。

Row()-1 としてるけど、例えば、「A3」のセルに「2022/02/01」としたい場合は、Row()-2 とするってことですね。

その通りです。

C$1の「$」 は絶対参照というものです。詳しい説明は割愛しますが、1行目から「○○年○○月」が動かないこと示してます。

日付を曜日に変更する方法

はーさん
はーさん

曜日にも日付と同じ関数を入力しましたが、どうして曜日に変更するのですか?

ままさん
ままさん

表示形式を変更します。今から操作手順を説明しますね。

1)曜日したいセルをすべて選択。

2)【表示形式】ー【数字】ー【カスタム数値形式】を選択。

3)「ddd」と入力して、【適用】をクリック。
※「dddd」と入力した場合、「月曜日」と表示される。詳しくはこちら

4)曜日が表示される。

はーさん
はーさん

月を変更すると日付と曜日が切り替わるようになりました。

ただ、月末を確認すると2月なのに3月が表示されているようです。

ママさん
ママさん

今回は、関数で月末の日付の表示非表示を制御する方法を説明します。

カレンダーの最後に翌月の日付が表示されないようにするには

Day関数とは

日付の日情報を返します。 日情報は 1 ~ 31 の範囲内の整数で示されます。

翌月の日付(曜日)が表示されないようにする数式

29日から31日が表示されるセル(曜日のセルも含む)に以下数式を入力。

=if(day(Date(C$1,E$1,Row()-1))>5,Date(C$1,E$1,Row()-1),"")
ママさん
ママさん

簡単に説明をすると、セルの日付が5より大きい場合「日付」を表示、それ以外は「空白」を表示。29日や30日の場合は表示するが、1日や2日の場合は表示しない。

コメント

タイトルとURLをコピーしました