テク-3
引き落としが土日に重なったら月曜日に繰り下げる
ポイント――曜日を求めるには
WEEKDAY関数
日付の曜日によって処理を変えたいことがあります。
ここでは、F列の「支払日」が土日なら翌月曜日の日付を、土日以外なら「支払日」の日付を「引き落とし日」に表示します。
曜日はWEEKDAY関数で調べられます。WEEKDAY関数に日付を指定すると、その日の曜日が1~7までの番号で表示されます。
曜日の番号には2つのパターンがあります。日曜から始まり土曜までを1~7で表示するパターンと、月曜から始まり日曜までを1~7で表示するパターンです。
どちらを使うかはWEEKDAY関数の引数で指定します。
なお、EDATE関数を使うには、次ページの手順で分析ツールを追加インストールして下さい。
式の解説-1
F5 セルの式は?
EDATE関数は、指定した日付の○ヵ月後が表示できる関数。「締め日」の翌月10日の「支払日」を求めるには、まずDATE関数で「締め日」の年、月の10日の日付を作り、その1ヵ月後をEDATE関数で表示する。
- ●指定した月数後の日付を計算する
- 書式 =EDATE(開始日,月)
- ●年、月、日に指定した数値を1つの日付に変換する
- 書式 =DATE(年,月,日)
式の解説-2
G5 セルの式は?
WEEKDAY(F5,2)でF5セルの曜日の番号を求めている。
引数に指定した「2」で、月曜から日曜までを1~7の番号で表示している。
求めた曜日番号によって、IF関数で処理を振り分ける。番号が6=土曜なら2日後、7=日曜なら1日後の日付を表示。それ以外はF5セルの日付を表示。
- ●日付から曜日を求める
- 書式 =WEEKDAY(シリアル値,[種類])
ひと押しコラム
逆に、金曜日に繰り上げるには
引き落とし日が土日に重なった場合、金曜日に繰り上げるようにするには、G5セルの式を「=IF(WEEKDAY(F5,2)=6,F5-1,IF(WEEKDAY(F5,2)=7,F5-2,F5))」とすればいい。
WEEKDAY関数で曜日を表示し、IF関数を使って処理を振り分ける点は繰り下げと同じ。
そのあとの処理が、番号が6=土曜なら1日前、7=日曜なら2日前の日付を表示するというふうに変わる。
知ッ得-2
翌営業日を求める別の方法
引き落とし日が土日または祝日のときの翌営業日は、「=WORKDAY(引き落とし日-1,1,祝日の日付)」でも求められる。
「引き落とし日-1」で引き落とし日の前日を求め、その1営業日後(引き落とし日)を求めている。
(次ページ、「アドイン関数を使うには?」に続く)
この連載の記事
-
第4回
ビジネス
時間関数を極めれば 面倒な給与計算がサクッと終わる! -
第3回
ビジネス
Excelの日付関数を使いこなせば、こんなに便利!【後編】 -
第1回
ビジネス
日付や時刻を自在に操れば Excel操作が楽しくなる - この連載の一覧へ