Excel:よく使う日付計算の数式について
Excelのよく使う日付計算についてまとめました。
最初によく使う日付計算の数式の例を一覧で紹介して、そのあとにそれぞれの日付の計算方法について詳細を見ていきます。
よく使う日付計算の数式の一覧
基準日 | 2022/03/05 | |||
---|---|---|---|---|
求める日 | 数式 | 結果 | ||
1日前 | =C2-1 | 2022/03/04 | ||
1日後 | =C2+1 | 2022/03/06 | ||
1週間前 | =C2-7 | 2022/02/26 | ||
1週間後 | =C2+7 | 2022/03/12 | ||
1ヵ月前 | =EDATE(C2,-1) | 2022/02/05 | ||
1ヵ月後 | =EDATE(C2,1) | 2022/04/05 | ||
1年前 | =EDATE(C2,-12) | 2021/03/05 | ||
1年後 | =EDATE(C2,12) | 2023/03/05 | ||
週の初日(月曜) | =C2-WEEKDAY(C2,3) | 2022/02/28 | ||
週の末日(日曜) | =C2+(6-WEEKDAY(C2,3)) | 2022/03/06 | ||
月の初日 | =EOMONTH(C2,-1)+1 | 2022/03/01 | ||
月の末日 | =EOMONTH(C2,0) | 2022/03/31 | ||
日付計算の数式の結果は日付のシリアル値が返されるのでセルの書式設定は日付形式にします。この一覧では結果の列の書式を「yyyy/mm/dd」としています。
それぞれの数式についての説明
それではそれぞれの日付の計算の数式の詳細を見ていきます。
N日前、N日後を求める数式
N日前の日付は対象の日付から求めたい日付までの日数を引くことで求められます。
=対象日付-N
N日後の日付は対象の日付に求めたい日付までの日数を足すことで求められます。
=対象日付+N
N週間前、N週間後を求める数式
1週間前の日付を求めたい場合、対象の日付から1週間の日数の7を引いた日付を求めます。
=対象日付-7
N週間前の日付を求めたい場合は7×N
日前の日付を求めます。
=対象日付-7*N
N週間後の日付を求めたい場合は7×N
日後の日付を求めます。
=対象日付+7*N
Nヵ月前、Nヵ月後を求める数式
Nヵ月前、Nヵ月後の日付はEDATE関数を使用することで簡単に求めることができます。
EDATE関数は対象の日付のNヵ月前やNヵ月後を求めることができる関数です。
EDATE(基準日,月数)
引数 | 説明 |
---|---|
基準日 | 求める日付の基準となる対象の日付を指定します。 |
月数 | 基準日からの月数を指定します。Nヵ月前を求めたい場合はマイナスの月数を指定します。 |
1ヵ月前の日付を求めたい場合はEDATE関数の月数に-1
を指定します。
=EDATE(対象日付, -1)
1ヵ月後の日付を求めたい場合はEDATE関数の月数に1
を指定します。
=EDATE(対象日付, 1)
N年前、N年後を求める数式
N年前、N年後の日付もEDATE関数を使用することで簡単に求めることができます。
1年前の日付を求める場合はEDATE関数の月数に1年前となる月数の-12
を指定します。
=EDATE(対象日付, -12)
N年前の日付を求めたい場合はEDATE関数の月数に-12×N
を指定します。
=EDATE(対象日付, -12*N)
N年後の日付を求めたい場合はEDATE関数の月数に12×N
を指定します。
=EDATE(対象日付, 12*N)
週の初日、週の末日を求める数式
週の初日は対象の日付からその週の初日から対象の日付までの日数を引くことで求めることができます。
また週の末日は対象の日付にその週の末日からの日数を足すことで求めることができます。
対象の日付とその週の初日や末日との日数を求めるには対象の日付が週の何番目の日付かを求めることができるWEEKDAY関数を利用します。
WEEKDAY関数は基準日の曜日の番号を返します。
WEEKDAY(基準日,[週の基準])
引数 | 説明 |
---|---|
基準日 | 曜日を求める基準日となる対象の日付を指定します。 |
週の基準 | 週の基準(週の初日をどの曜日にするか、週の番号が0始まりか、1始まりか)を設定できます。省略可能です。 |
週の基準に指定する値とWEEKDAY関数から返される曜日の番号の対応は以下になります。
週の基準 | 説明 | 月 | 火 | 水 | 木 | 金 | 土 | 日 | ||
---|---|---|---|---|---|---|---|---|---|---|
1 | 1 (日曜) ~ 7 (土曜) の範囲の整数 | 2 | 3 | 4 | 5 | 6 | 7 | 1 | ||
2 | 1 (月曜) ~ 7 (日曜) の範囲の整数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
3 | 0 (月曜) 〜 6 (日曜) の範囲の整数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | ||
11 | 1 (月曜) ~ 7 (日曜) の範囲の整数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
12 | 1 (火曜) ~ 7 (月曜) の範囲の整数 | 7 | 1 | 2 | 3 | 4 | 5 | 6 | ||
13 | 1 (水曜) ~ 7 (火曜) の範囲の整数 | 6 | 7 | 1 | 2 | 3 | 4 | 5 | ||
14 | 1 (木曜) ~ 7 (水曜) の範囲の整数 | 5 | 6 | 7 | 1 | 2 | 3 | 4 | ||
15 | 1 (金曜) ~ 7 (木曜) の範囲の整数 | 4 | 5 | 6 | 7 | 1 | 2 | 3 | ||
16 | 1 (土曜) ~ 7 (金曜) の範囲の整数 | 3 | 4 | 5 | 6 | 7 | 1 | 2 | ||
17 | 1 (日曜) ~ 7 (土曜) の範囲の整数 | 2 | 3 | 4 | 5 | 6 | 7 | 1 | ||
週の基準の指定を省略した場合は「1」の「1 (日曜) ~ 7 (土曜) の範囲の整数」を指定した時と同じ結果になります。
週の初日(月曜)を求める場合、WEEKDAY関数の週の基準の3
を利用します。
この場合の曜日の番号は月曜日が0番目、火曜日が1番目、… と続き日曜日が6番目となり、その週の月曜日からの日数と等しくなります。
つまり、その週の月曜日は対象の日付から、週の基準に3
を指定した曜日の番号を引くことで求まります。
=対象日付-WEEKDAY(対象日付,3)
月曜日から日曜日までの計算結果は以下になります。
対象日付 | WEEKDAY(対象日付, 3) | 対象日付 - WEEKDAY(対象日付, 3) | ||
---|---|---|---|---|
2022/03/07 (月) | 0 | 2022/03/07 (月) | ||
2022/03/08 (火) | 1 | 2022/03/07 (月) | ||
2022/03/09 (水) | 2 | 2022/03/07 (月) | ||
2022/03/10 (木) | 3 | 2022/03/07 (月) | ||
2022/03/11 (金) | 4 | 2022/03/07 (月) | ||
2022/03/12 (土) | 5 | 2022/03/07 (月) | ||
2022/03/13 (日) | 6 | 2022/03/07 (月) | ||
週の末日(日曜)を求める場合は以下になります。
=対象日付+(6-WEEKDAY(対象日付,3))
対象の日付にその週の日曜日からの日数を足すことで求められます。
その週の日曜日からの日数は6-WEEKDAY(対象日付, 3)
で求めることができます。
対象日付 | 6-WEEKDAY(対象日付, 3) | 対象日付 + (6-WEEKDAY(対象日付, 3)) | ||
---|---|---|---|---|
2022/03/07 (月) | 6 | 2022/03/13 (日) | ||
2022/03/08 (火) | 5 | 2022/03/13 (日) | ||
2022/03/09 (水) | 4 | 2022/03/13 (日) | ||
2022/03/10 (木) | 3 | 2022/03/13 (日) | ||
2022/03/11 (金) | 2 | 2022/03/13 (日) | ||
2022/03/12 (土) | 1 | 2022/03/13 (日) | ||
2022/03/13 (日) | 0 | 2022/03/13 (日) | ||
月の初日、月の末日を求める数式
月の初日や末日の日付はEOMONTH関数を使用すると簡単に求めることができます。
EOMONTH関数は月末の日付を求めることができる関数です。
EOMONTH(基準日,月数)
引数 | 説明 |
---|---|
基準日 | 求める日付の基準となる対象の日付を指定します。 |
月数 | 基準日からの月数を指定します。Nヵ月前の月末の日付を求めたい場合はマイナスの月数を指定します。 |
月の初日を求める場合は対象の日付の前の月の月末の次の日付を求めます。
=EOMONTH(対象日付,-1)+1
月の末日を求める場合、対象の日付の月の月末を求めます。
=EOMONTH(対象日付,0)
まとめ
エクセルには日付を計算する便利な関数がいくつも用意されているので日付計算の数式を簡潔に記述することができます。