日本の学校のほとんどは4月入学、3月卒業で、4月から翌年3月までを「学校年度」と言うことがあります。Excelで日付から学校年度を求めるには原則としてEDATE関数を使います。しかし、生年月日から入学日・卒業日・学年を求めるには注意が必要です。
また、学校の中には前期後期制の学校と3学期制の学校があります。3学期制の場合、1学期は4月~8月末、2学期は9月~12月末、3学期は1月~3月末です。ただし、9月末までを1学期とする学校もあるようです。
そこで、今回は、学校に関連する入学年、卒業年、学年、学年差、1~3学期の開始日と終了日の求め方について解説します。
目次
1.一般的な学校年度の求め方(復習)
日付から学校年度を求める数式は「YEAR(EDATE(日付,-3))」です。これは、生年月日ではなく、通常のカレンダーの日付から年度を求める方法です。
詳しくはこちらの記事をご覧ください。
2.生年月日から入学年度と卒業年度を求める
問題
誕生日が4月2日から翌年4月1日までの人を同じ「学年」とする。セルA1に生年月日を入力した場合、小学校入学年度と卒業年度を求めなさい。ただし、小学校は満6歳に達した児童が入学できるものとする。
解説
多くの学校では4月1日を入学日としており、入学できる年齢も4月1日を基準としています。小学校に入学できるのは4月1日に満6歳になっている児童です。誕生日が4月1日の人は、入学日に6歳になるので、誕生日が3月までの人と一緒に入学することができます。したがって、4月2日から翌年4月1日の誕生日の人が同じ学年となります。
- 学校年度:4月1日~翌3月31日
- 学年(誕生日):4月2日から翌年4月1日
1日ずらすだけなので、生年月日から年度を求める場合は、生年月日から1を引いてから年度を求めたらよいです。これで生まれた日の年度が分かります。
- =YEAR(EDATE(生年月日-1, -3))
小学校は満6歳になっている児童が入学できるので、4月1日生まれの人を除いて、1年生の間に7歳になります。したがって、入学年度は生まれた年度に7を加算すればよいです。
- =YEAR(EDATE(生年月日-1, -3))+7
- =YEAR(EDATE(A1-1, -3))+7
入学年度から5年たつと6年生(卒業年次生)となりますからさらに5年を加算すれば卒業年度となります。
- =YEAR(EDATE(A1-1, -3))+12
生まれた日に該当する学校年度が分かれば、年齢を加算するだけで小中高大の入学年度と卒業年度が分かります。ただし、卒業の日のように1月~3月の日付を求める場合は、年をまたぐのでさらに1を加算しなければなりません。
小中高大の入学年度と卒業年度を求めることができます。
- =YEAR(EDATE($A$1-1, -3))+F3
3.入学日と卒業日
問題
誕生日が4月2日から翌年4月1日までの人を同じ「学年」とする。セルA1に生年月日を入力した場合、小学校の入学日と卒業日を求めなさい。ただし、入学日は入学年度の4月1日、卒業日は卒業年度の3月31日とする。
解説
入学年度が計算できたら、入学日はその4月1日です。
- =DATE(入学年度,4,1)
- =DATE(YEAR(EDATE(A1-1, -3))+7,4,1)
卒業日は卒業年度の3月31日ですが、卒業は年をまたぐので年度に1を加算しなければなりません。
- =DATE(卒業年度+1,3,31)
卒業年度は生まれた年度+12なので、卒業の年は13を加算することになります。
- =DATE(生まれた年度+13,3,31)
- =DATE(YEAR(EDATE(A1-1, -3))+13,3,31)
4.学年の差
問題
誕生日が4月2日から翌年4月1日までの人を同じ「学年」とする。セルA1とセルA2に異なる生年月日を入力した場合、学年差を求めなさい。
解説
西暦では1年違いだが、学年としては2つ違うということがあります。学年の差は生まれた年度の差を求めたらよいです。
- =YEAR(EDATE(生年月日-1, -3))
2021と2019となりますので、引き算をすれば2学年差となります。
5.生年月日から学年を求める
問題
はじめにセルA1に学校年度(4桁)を入力した。そして、セルB4~B13に生徒10人の生年月日を入力した。生まれた日の学校年度を求めたうえで、セルA1の年度について、年度の差、年度開始時点の年齢、学年をそれぞれ求めなさい。
解説
今年度と生まれた日の年度の差を求めることによって、学年を求めることができます。
生年月日から学校年度を求めます。
- =YEAR(EDATE(B4-1,-3))
例えば、2013年3月31日に生まれた人は、2020年度末の3月31日に誕生日を迎えて8歳になります。
そこで、今年度から生まれた年度を引きます。
- 年度差:=$A$1-C4
年度差から1を引くと年度開始時点(4月1日)の年齢になります。4月1日生まれの人も年度開始時点(4月1日)では誕生日を迎えており、3月31日生まれの人と同じ年齢になりますから、同じ学年になります。
- =D4-1
年度差から6を引くと学年になります。2013年3月31日生まれの人は小学2年生、2006年9月1日生まれの人は8年生、つまり中学2年生です。
- =D4-6
生年月日から年齢と学年を求める方法をまとめると、次の通りです。
- 年度開始時の年齢:=今年度-YEAR(EDATE(生年月日-1,-3))-1
- 学年:=今年度-YEAR(EDATE(生年月日-1,-3))-6
6.3学期制
(1)学期の開始日と終了日
問題
3学期制で、1学期を4月~8月末とする。セルA1に日付を入力し、セルB1に4月から始まる場合の年度を求めた。学期の開始日と終了日をそれぞれ求めなさい。
解説
4月から始まる年度の場合、DATE関数を用いて開始日と終了日を求めることができます。
- 1学期:DATE(年度,4,1)~DATE(年度,8,31)
- 2学期:DATE(年度,9,1)~DATE(年度,12,31)
- 3学期:DATE(年度+1,1,1)~DATE(年度+1,3,31)
別解
末日を0日と考え、翌年を12か月後と考えることで計算しやすい形になります。
- 1学期:DATE(年度,4,1)~DATE(年度,9,0)
- 2学期:DATE(年度,9,1)~DATE(年度,13,0)
- 3学期:DATE(年度,13,1)~DATE(年度,16,0)
別の列に月日を入力するだけで、開始日と終了日が一気に計算できます。
- =DATE($B$1,F3,G3)
(2)CHOOSE関数を使う
問題
3学期制で、1学期を4月~8月末とする。セルA1に日付を入力し、セルB1に4月から始まる場合の年度を求めた。セルB2に学期を入力して、開始日と終了日を求めなさい。
解説
1~3学期の開始日はDATE(年度,開始月,1)、終了日はDATE(年度,終了月+1,0)です。
- 1学期:DATE(年度,4,1)~DATE(年度,9,0)
- 2学期:DATE(年度,9,1)~DATE(年度,13,0)
- 3学期:DATE(年度,13,1)~DATE(年度,16,0)
CHOOSE関数を用いて求めます。
- 開始日:=DATE(年度,CHOOSE(学期,4,9,13),1)
- 終了日:=DATE(年度,CHOOSE(学期,9,13,16),0)
(3)日付から学期を求める
問題
セルA1に入力した日付がどの学期に該当するかを求めなさい。
解説
1月~3月が1学期、4月~8月が2学期、それ以外が3学期です。IFかCHOOSEを使います。
- =IF(MONTH(日付)<4,3,IF(MONTH(日付)<9,1,2))&"学期"
- =CHOOSE(MONTH(日付),3,3,3,1,1,1,1,1,2,2,2,2)&"学期"
解説は以上です。