更新日:、 作成日:
エクセル 納品日や支払日を求める日付関数
はじめに
エクセルの納品日や支払日を求める日付関数の使い方を紹介します。
開始日と契約日数から終了日を求められます。納期から数ヵ月後の支払日を求められます。
週末や休日などを除いた日付を求められます。
契約日数から終了日を求める
この方法では、契約予定日数から終了日を求めます。
セル「B3」に開始日を入力します。セル「C3」に日数を入力します。
単純に求める
休みを無視して単純に求めるには =B3-1+C3 を入力します。

開始日に日数を加えて終了日を求められます。開始日に -1 をしているのは、開始日を 1 日と数えるためです。日数が 1 日の時に終了日が次の日になってしまうため 1 日多いことがわかります。
週末を考慮する

週末を除いて求めるには「WORKDAY.INTL 関数」を使用します。
土日を週末として求めます。
月曜日を週末として求めます。

開始日と日数だけを指定すると自動的に土日が週末になります。
週末を指定するときは 0 が営業日、1 が休みです。月火水木金土日の順番に指定します。土日が休みなら 0000011 です。
休日や欠勤日を考慮する
休日を除いて求めるには「WORKDAY.INTL 関数」を使用します。
週末に加えて休日または欠勤日を除いて求めます。
=WORKDAY.INTL(B3-1,C3,"0000000",F3:F4)

週末に 1 を指定すると土日が週末になります。
週末を除外したくないときは 0000000 を入力して週末をなしにできます。
休日や欠勤日の日付が入ったセルを範囲指定します。その日付を休日として除外されます。
スポンサーリンク
納品日から支払日を求める
この方法では、納品日から数ヵ月後の支払日を求めます。
セル「B3」に納品日を入力します。セル「C3」に支払期限として月数を入力します。
月末を考慮する
1 ヵ月後の支払日を求めるには =EDATE(B3,C3) を入力します。

「EDATE 関数」は月末を考慮した日付を取得できます。1/31 の 1 ヵ月後は 2/28、うるう年なら 2/29 のように自動的に月末を考慮した日付を求められます。
支払日が月末
1 ヵ月後の月末が支払日の時は =EOMONTH(B3,C3) を入力します。

「EOMONTH 関数」は月末を取得できます。
支払日が翌月の 20 日
1 ヵ月後の 20 日が支払日の時は =EOMONTH(B3,C3-1)+20 を入力します。

月に -1 をして前の月の月末を求めます。その月末に 20 日を加えて 1 ヵ月後の 20 日を求めています。
20 日締めの翌月の 20 日
納品日が 20 日以前なら翌月の 20 日を。20 日より後なら翌々月の 20 日を求めます。

納品日に -20 をして前の月になるか、当月のままかを判定できます。その月の月末に 20 日を加えて締日を考慮した日付を求めています。
週末や休日を考慮する
週末や休日を除いて求めるには「WORKDAY.INTL 関数」を使用します。
支払日が休日のときは翌営業日を求めます。
支払日が休日のときは前営業日を求めます。
支払日 の部分を上記で紹介した方法で置き換えます。例として、月末を考慮する「EDATE 関数」を使った方法を紹介します。

翌営業日を求めるには EDATE(B3,C3)-1 で支払日の前日を取得します。その前日に「WORKDAY.INTL 関数」を使用して次の日(支払日)を求めることで、その日が休日ならその翌営業日を求めらます。
前営業日を求めるには EDATE(B3,C3)+1 で支払日の翌日を取得します。その翌日に「WORKDAY.INTL 関数」を使用して前の日(支払日)を求めることで、その日が休日ならその前営業日を求めらます。
スポンサーリンク