このページの本文へ

30分早く帰れる! Excelの日付・時刻関数をズバッと攻略 第2回

Excelの日付関数を使いこなせば、こんなに便利!【前編】

2008年12月08日 04時00分更新

文● 構成● 尾崎裕子、アスキードットPC編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

テク-3
引き落としが土日に重なったら月曜日に繰り下げる

ポイント――曜日を求めるには
WEEKDAY関数

 日付の曜日によって処理を変えたいことがあります。

 ここでは、F列の「支払日」が土日なら翌月曜日の日付を、土日以外なら「支払日」の日付を「引き落とし日」に表示します。

 曜日はWEEKDAY関数で調べられます。WEEKDAY関数に日付を指定すると、その日の曜日が1~7までの番号で表示されます。

 曜日の番号には2つのパターンがあります。日曜から始まり土曜までを1~7で表示するパターンと、月曜から始まり日曜までを1~7で表示するパターンです。

 どちらを使うかはWEEKDAY関数の引数で指定します。

●【完成形】 締め日をもとに翌月10日の支払日を求める
●ただし、支払日が土日に重なる場合は、引き落とし日を月曜日に繰り下げる

支払日が土日に重なる場合は、引き落とし日を月曜日に繰り下げるExcelシートの完成形

完成形。支払日が土日に重なる場合は、引き落とし日を月曜日に繰り下げたい

 なお、EDATE関数を使うには、次ページの手順で分析ツールを追加インストールして下さい。


式の解説-1
F5 セルの式は?

F5 セルの式

【F5 セルの式】(1) 「開始日」はE5セルの月の10日。(2) 「開始日」の1ヵ月後の日付を求める。(a)E5セルから「年」を取り出す。(b)E5セルから「月」を取り出す。(c)「日」は「10」とする

 EDATE関数は、指定した日付の○ヵ月後が表示できる関数。「締め日」の翌月10日の「支払日」を求めるには、まずDATE関数で「締め日」の年、月の10日の日付を作り、その1ヵ月後をEDATE関数で表示する。

●指定した月数後の日付を計算する
書式 =EDATE(開始日,月)
●年、月、日に指定した数値を1つの日付に変換する
書式 =DATE(年,月,日)

式の解説-2
G5 セルの式は?

G5 セルの式

【G5 セルの式】(1) F5セルの曜日が日曜日(7)である、という論理式。(2) 条件にあてはまればF5の日付の1日後を求める。(3)あてはまらない場合はF5の日付を求める。(a)F5セルの曜日が土曜日(6)である、という条件を示す論理式。(b)条件にあてはまればF5の日付の2日後を求める。(c)条件にあてはまらない場合にはこの処理を行なう

 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営業日後(引き落とし日)を求めている。


 (次ページ、「アドイン関数を使うには?」に続く)

カテゴリートップへ

この連載の記事

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ