ある年の平日や休日の日数を計算する必要があったので、こんなシートを作成してみました。
ダウンロードはこちらから。
祝日リストはこちらのブログを参照させていただきました。
##計算ロジックや使用した関数など
###NETWORKDAYS.INTL
Excel標準関数のNETWORKDAYS.INTLを使って、土日や祝日を除いた平日の日数を計算しています。
NETWORKDAYS.INTL(開始日, 終了日, [週末], [休日])
###MATCH
祝日リストから該当年の祝日リストを取り出すために使用しています。該当年の開始日と終了日の位置(祝日リストの先頭行からの相対行数)を計算しています。
MATCH(検査値, 検査範囲, [照合の型])
###INDEX
先のMATCH関数を使用して得られた相対位置を使って、セル参照を取得するために使用しています。ここで取得したセル参照は、NETWORKDAYS.INTL関数の休日フィールドに「:」(コロン)で繋いで、リストとして渡しています。
INDEX(配列, 行番号, [列番号])
###DATAVALUE
年の開始日を計算するために使用しています。CONCATENATE関数を内部で使用して、文字列の連結を行っています。
DATEVALUE(日付文字列)
###EDATE
年の終了日を計算するために使用しています。年の開始日に12か月を足して1日引いて、12/31を求めています。年の終了日が12/31なのは自明なので、CONCATENATE関数とDATEVALUE関数から計算しても同じ結果が得られます。
EDATE(開始日, 月)