4月から始まり3月で終わる年度の場合、上半期は4月~9月、下半期は10月~翌年3月となります。例えば、日付が入力されているExcelの表があって、上半期・下半期ごとに集計するにはその日付を上半期・下半期に変換しなければなりません。変換してから集計すればよいのですが、Excelで変換するには関数を使います。そして、3月決算でない会社についても求め方はほとんど同じです。
半期をさらに半分に分けると四半期になります。四半期ごとに集計するには、日付を四半期に変換しなければなりません。
そこで、今回は、半期や四半期の開始日と終了日を求める方法と、日付が上期・下期、第1~4四半期のどの期間に属するかを判定する方法について解説します。
目次
1.年度の求め方(復習)
例えば、日付から「2020上期」のように年度と期を求めるためには、まず年度を求めなければなりません。年度の求め方は「YEAR(EDATE(日付,-3))」です。
詳しくはこちらの記事をご覧ください。
2.4月から始まる年度の上期・下期
(1)半期の開始日と終了日
問題
年度を4月1日~3月末とする。セルA1に日付を入力し、セルB1に年度を求めた。半期の開始日と終了日をそれぞれ求めなさい。
解説
年度の前半6か月間を上期(かみき)、上半期または前期といいます。また、年度の後半6か月を下期(しもき)、下半期または後期といいます。このように年度を6か月に分割することを半期または前期後期制といいます。4月から始まる年度の場合、上期は4月1日~9月30日、下期は10月1日~3月31日であることが分かっているため、DATE関数を用いて開始日と終了日を求めることができます。
- 上期:DATE(年度,4,1)~DATE(年度,9,30)
- 下期:DATE(年度,10,1)~DATE(年度+1,3,31)
別解その1
9月の末日は30日で、3月の末日は31日まであります。また、3月だけ年度に1を加算しますが、あまり美しくありません。
- 上期:DATE(年度,4,1)~DATE(年度,9,30)
- 下期:DATE(年度,10,1)~DATE(年度+1,3,31)
そこで、9月の末日を10月0日、3月の末日を4月0日と考え、さらに、年度末を12か月後と考えることで、計算しやすい形になります。
- 上期:DATE(年度,4,1)~DATE(年度,10,0)
- 下期:DATE(年度,10,1)~DATE(年度,16,0)
例えば、別の列に月日を入力するだけで、開始日と終了日が一気に計算できます。
別解その2
年度開始日が分かっている場合、EDATE関数を用いて6か月後、12か月後の日付を求めることができます。
- 上期:年度開始日~EDATE(年度開始日,6)-1
- 下期:EDATE(年度開始日,6)~EDATE(年度開始日,12)-1
(2)第X期の開始日と終了日
問題
上期=1、下期=2とするとき、該当する期の開始日と終了日を求めなさい。
解説
開始日と終了日はそれぞれ6か月差です。
- 上期:DATE(年度,4,1)~DATE(年度,10,0)
- 下期:DATE(年度,10,1)~DATE(年度,16,0)
上期を第1期、下期を第2期とすると、第X期の開始日と終了日を1つの式で表すことができます。
- 開始日:=DATE(年度,X*6-2,1)
- 終了日:=DATE(年度,X*6+4,0)
(3)上期・下期の判定
問題
セルA1に入力した日付が上期か下期か判定しなさい。
解説
4月~9月の間であれば上期、そうでなければ下期です。
- =IF(AND(MONTH>=4,MONTH<=9),"上期","下期")
- =IF(AND(MONTH(A1)>=4,MONTH(A1)<=9),"上期","下期")
別解
年度が分かっている場合、下期の開始日である10月1日より前であれば上期です。
- =IF(日付<DATE(年度,10,1),"上期","下期")
- =IF(A1<DATE(B1,10,1),"上期","下期")
3.4月から始まる年度の四半期
(1)四半期の開始日と終了日
問題
年度を4月1日~3月末とする。セルA1に日付を入力し、セルB1に年度を求めた。第1~第4四半期の開始日と終了日をそれぞれ求めなさい。
解説
年度の最初の3か月間を第1四半期(しはんき)といいます。その後3か月ごとに第2四半期~第4四半期といいます。このように年度を3か月に分割することを四半期といいます。4月から始まる年度の場合、DATE関数を用いて開始日と終了日を求めることができます。それぞれDATE関数で求めます。
- 第1四半期:DATE(年度,4,1)~DATE(年度,6,30)
- 第2四半期:DATE(年度,7,1)~DATE(年度,9,30)
- 第3四半期:DATE(年度,10,1)~DATE(年度,12,31)
- 第4四半期:DATE(年度+1,1,1)~DATE(年度+1,3,31)
別解
末日を0日と考え、翌年を12か月後と考えることで計算しやすい形になります。
- 第1四半期:DATE(年度,4,1)~DATE(年度,7,0)
- 第2四半期:DATE(年度,7,1)~DATE(年度,10,0)
- 第3四半期:DATE(年度,10,1)~DATE(年度,13,0)
- 第4四半期:DATE(年度,13,1)~DATE(年度,16,0)
別の列に月日を入力するだけで、開始日と終了日が一気に計算できます。
(2)第X四半期の開始日と終了日
問題
四半期を1~4の数値で表すとき、該当する四半期の開始日と終了日をそれぞれ求めなさい。
解説
第X四半期を1つの式で表すことができます。
- 開始日:=DATE(年度,3*X+1,1)
- 終了日:=DATE(年度,3*X+4,0)
(3)四半期の判定
問題
セルA1に入力した日付がどの四半期に該当するかを求めなさい。
解説
4月~6月の間であれば第1四半期、7月~9月の間であれば第2四半期、・・・とすればよいですが、IFを使うと数式が長くなります。
- ="第"&IF(MONTH<4,4,IF(MONTH<7,1,IF(MONTH<10,2,3)))&"四半期"
整数値の場合はIFよりもCHOOSE関数を使ったほうが分かりやすいです。
- ="第"&CHOOSE(MONTH(A1),4,4,4,1,1,1,2,2,2,3,3,3)&"四半期"
別解
4月から始まる年度で、対象となっている月が年度内で何か月目となっているかを求めるには、月から4を引いて12で割った余りに1を足します。
- =MOD(MONTH-4,12)+1
3で割ってから1を足すことによって四半期を求めることができます。
- =INT(MOD(MONTH-4,12)/3)+1
- ="第"&INT(MOD(MONTH(A1)-4,12)/3)+1&"四半期"
4.1月から始まる年度の四半期
問題
年度を1月1日~12月末とする。セルA1に入力した日付から四半期を求めなさい。
解説
1月から始まる場合もCHOOSE関数を使って四半期を求めることができますが、INT関数を使ったほうが簡単です。月に2を加えて3で割ります。
- =INT( (MONTH+2)/3)
- ="第"&INT( (MONTH(日付)+2)/3)&"四半期"
5.X月から始まる年度の半期
(1)半期の開始日と終了日
問題
セルA1に日付を入力し、年度の開始月をC3~C14、終了月をC3~D14に入力した。また、E列に年度を求めた。半期の開始日と終了日をそれぞれ求めなさい。
- 年度・・・=YEAR(EDATE($A$1,1-C3))
解説
年度の開始日を基準とすると、上期の終了日は年度開始日の6か月後の前日です。また、下期は年度開始日の6か月後から始まり、12か月後の前日で終わります。
- 上期:年度開始日~6か月後-1
- 下期:6か月後~12か月後-1
これをDATE関数で表し、末日を0日と考えることで、計算しやすい形になります。
- 上期:DATE(年度,開始月,1)~DATE(年度,開始月+6,0)
- 下期:DATE(年度,開始月+6,1)~DATE(年度,開始月+12,0)
別解
年度開始日が分かっている場合、EDATE関数を用いて6か月後、12か月後の日付を求めることができます。
- 上期:DATE(年度,年度開始月,1)~EDATE(年度開始日,6)-1
- 下期:EDATE(年度開始日,6)~EDATE(年度開始日,12)-1
(2)第X期の開始日と終了日
問題
上期=1、下期=2とするとき、該当する期の開始日と終了日を求めなさい。
解説
上期を第1期、下期を第2期とすると第X期は次のようになります。
- =DATE(年度,開始月+6*X-6,1)~DATE(年度,開始月+6*X,0)
- =DATE(E3,C3+6*$G$1-6,1)~=DATE(E3,C3+6*$G$1,0)
(3)上期・下期の判定
問題
セルA1に入力した日付が上期か下期か判定しなさい。
解説
下期開始日より前であれば上期です。
- =IF(日付<下期開始日,"上期","下期")
- =IF($A$1<DATE(E3,C3+6,1),"上期","下期")
6.X月から始まる年度の四半期
問題
セルA1に日付を入力し、年度の開始月をC3~C14、終了月をC3~D14に入力した。また、E列に年度を求めた。このとき次の各設問に答えなさい。
(1)四半期を1~4の数値で表すとき、該当する期の四半期の開始日と終了日をそれぞれ求めなさい。
(2)セルA1に入力した日付がどの四半期に該当するかを求めなさい。
解説
年度の開始月が分かっている場合、DATE関数を用いて開始日と終了日を求めることができます。
- 第1四半期:DATE(年度,開始月,1)~DATE(年度,開始月+3,0)
- 第2四半期:DATE(年度,開始月+3,1)~DATE(年度,開始月+6,0)
- 第3四半期:DATE(年度,開始月+6,1)~DATE(年度,開始月+9,0)
- 第4四半期:DATE(年度,開始月+9,1)~DATE(年度,開始月+12,0)
第X四半期は次のようになります。
- DATE(年度,開始月+3*X-3,1)~DATE(年度,開始月+3*X,0)
対象となっている月が年度内で何か月目かを求めるには、MOD関数を用いて「MOD(MONTH-年度開始月,12)+1」とします。
- =MOD(MONTH-年度開始月,12)+1
これを利用して、CHOOSE関数で四半期を判定することができます。
- ="第"&CHOOSE(MOD(MONTH-年度開始月,12)+1,1,1,1,2,2,2,3,3,3,4,4,4)&"四半期"
- ="第"&CHOOSE(MOD(MONTH($A$1)-C3,12)+1,1,1,1,2,2,2,3,3,3,4,4,4)&"四半期"
別解
さらに、INT関数を使うと短い式で表すことができます。
- ="第"&INT(MOD(MONTH-年度開始月,12)/3)+1&"四半期"
- ="第"&INT(MOD(MONTH($A$1)-C3,12)/3)+1&"四半期"
解説は以上です。