2016年4月29日金曜日

【Googleスプレッドシートで土日を繰り下げ】

日付が土日なら翌月曜日にしたい時は、WEEKDAY関数 を使って曜日を調べ、曜日に応じた計算をします。

WEEKDAY(日付, 種類) 日付の曜日番号を返す

種類を「1」にすると関数が返す曜日番号が日曜日始まりになります。
1:日、2:月、3:火、4:水、5:木、6:金、7:土

種類を「2」にすると月曜日始まりになります。
1:月、2:火、3:水、4:木、5:金、6:土、7:日

例えば、Excelで、A2セルに入力された日付が土日なら翌月曜日にしたい場合は以下のようにします。

=IF(WEEKDAY(A2,2)=6,A2+2,IF(WEEKDAY(A2,2)=7,A2+1,A2))

ちょっと補足説明します。
・WEEKDAY(A2,2)=6 ⇒ 対象となる日付の曜日が「土」
・A2+2 ⇒ 対象となる日付の「2日後」
・WEEKDAY(A2,2)=7 ⇒ 対象となる日付の曜日が「日」
・A2+1 ⇒ 対象となる日付の「1日後」

したがって、以下の式で「土日を繰り下げた日」が求まります。
・IF(WEEKDAY(A2,2)=6,A2+2,IF(WEEKDAY(A2,2)=7,A2+1,A2))
 ⇒ 曜日が「土」なら「2日後」、「日」なら「1日後」、それ以外は「当日」



日付表示されない時は、「セルの書式設定」を変更しましょう。曜日が表示されるように「種類」を「yyyy/m/d (aaa)」と設定するとよいと思います。



A2セルをA3からA8セルまでコピペすれば、土日が繰り下げられているのが分かります。


逆に、前金曜日に繰り上げたい場合は以下のようにします。

=IF(WEEKDAY(A2,2)=6,A2-1,IF(WEEKDAY(A2,2)=7,A2-2,A2))





Googleスプレッドシートでも全く同じ方法で計算できます。翌月曜日に繰り下げたい場合は以下の通りです。

=IF(WEEKDAY(A2,2)=6,A2+2,IF(WEEKDAY(A2,2)=7,A2+1,A2))



前金曜日に繰り上げたい場合は以下の通りです。

=IF(WEEKDAY(A2,2)=6,A2-1,IF(WEEKDAY(A2,2)=7,A2-2,A2))



ではでは。


0 件のコメント:

コメントを投稿