エクセルで任意の期間の授業日数を計算する方法

エクセルで任意の期間の授業日数を計算する方法

エクセルで任意の期間の授業日数を計算する方法

任意の期間に授業をできる日が何日あるかを曜日ごとに計算する方法を解説します。

新型コロナウイルスの感染拡大により休校期間が増えているため作成しました。
年間授業日数をどのように確保するかの検討用などに使用できます。

【完成イメージ】

  • 授業日数(月〜金)は、設定リスト「祝祭日」にある日を除いた期間内の日数
  • 休日数(月〜金)は、設定リスト「祝祭日」にある期間内の日数
  • 授業日数(土日)は、設定リスト「土日」にある期間内の日数
  • 休日数(土日)は、設定リスト「土日」にある日数を除いた期間内の日数

(設定リスト)

ダウンロードできるファイルも用意しています(ダウンロードはこのページの下のほうから)。

 

任意の期間の曜日の数をカウントする計算式

エクエルで任意の期間の曜日の日数を数えるには「NETWORKDAYS.INTL関数」を使用します。

 

NETWORKDAYS.INTL関数の書き方と使用例
書き方 =NETWORKDAYS.INTL(開始日,終了日,[週末],[祭日])
(開始日,終了日) ここで対象とする期間を指定
(週末) 計算から除外する曜日を指定(※1)
(祭日) 祭日扱いで計算から除外する日を指定(省略可能)
使用例 =NETWORKDAYS.INTL(B1,B2,"0111111")
使用例の意味 B1セルからB2セルまでの期間で、月曜日の数を計算

※1(週末の指定方法)…月〜日の順で計算対象とする日を「0」、計算対象外とする日を「1」として数字を並べる。「0111111」なら月曜だけ計算対象となる。

0111111」が月曜だけ計算、「1011111」が火曜日だけ計算、「1111110」が日曜日だけ計算となるので、計算式を曜日分用意すれば、曜日ごとの日数を算出できます。

 

この設定方法だと、指定された期間の曜日を計算するだけになります。
授業日数を計算するのであれば、祝祭日開校記念日などを引く必要があります。

 

次に指定された期間から特定の日を除く場合の方法を説明します。

 

特定日を除く場合のNETWORKDAYS.INTL書き方

計算する日数から除きたい特定日はNETWORKDAYS.INTL関数の(祭日)に設定します。

上の例では、NETWORKDAYS.INTL関数の最後に設定している「D2:D5」が祭日です。
D2セルからD5セルに設定された日付は祭日として計算対象となりません。

 

参考までに、祭日の設定をしていないときの結果はコチラです。

7月24日が計算対象となっているかいないかで、結果「14」と「13」の違いが出ています。

 

曜日別の授業日数、休日数の求め方

ここまでで説明したNETWORKDAYS.INTL関数を使って曜日別の授業日数、休日数を計算します。

月曜日の授業日数


(J18セル〜J50セルに祝祭日を設定)

 

月曜日の休日数


期間の全日数を計算し、祝祭日を考慮して計算した結果(B19セル)を引いている。

 

日曜日の授業日数


期間の全日数を計算し、授業日を考慮して計算した結果(H20セル)を引いている。

 

日曜日の休日数


(N18セル〜N50セルに授業日とする日を設定)
設定した授業日とする日が計算対象から除かれるので、残りが休日数となる。

 

ダウンロードできるファイルを用意しました

計算式が組み込まれているエクセルファイルを用意しました。

ダウンロードはこちらから ⇒ エクセル授業日数計算シート

万が一、ダウンロードしたファイルで何らかの損害が発生しても、責任は負えません。
あくまで自己責任でご利用ください。

上で説明した計算式を設定するだけでは、期間の日付に何も設定されていないときに土曜日の計算が正しくされません。ダウンロードできるファイルでは、この不具合に対応するための式(IF文)を土曜日を計算するセルにだけ設定しています。