今仮に、各日毎のシートのシート名が、
1
2
3
4
・
・
・
30
31
という具合に、数字のみからなる名前となっていて、
各曜日毎のシートのシート名が、
月曜日
火曜日
・
・
・
日曜日
という具合に、シート名の最初の文字が、必ず月、火、水、木、金、土、日の内の何れかの文字であるものとします。
まず、適当な使用していないシート(ここでは仮に、そのシートは「補助」という名前のシートであるものとします)に、次の様な休日のリストを作成して下さい。(A列の休日の名称は、判り易くするためだけのものですので、必ずしも入力しなくてはならないものではありません)
A列 B列
1行目 休日の名称 年月日
2行目 元日 2011年1月1日
3行目 成人の日 2011年1月10日
4行目 建国記念の日 2011年2月11日
5行目 春分の日 2011年3月21日
6行目 昭和の日 2011年4月29日
7行目 憲法記念日 2011年5月3日
8行目 みどりの日 2011年5月4日
9行目 こどもの日 2011年5月5日
10行目 海の日 2011年7月18日
11行目 敬老の日 2011年9月19日
12行目 秋分の日 2011年9月23日
13行目 体育の日 2011年10月10日
14行目 文化の日 2011年11月3日
15行目 勤労感謝の日 2011年11月23日
16行目 天皇誕生日 2011年12月23日
17行目 社定休日1 2011年○月×日
18行目 社定休日2 2011年○月×日
19行目 社定休日3 2011年○月×日
20行目 社定休日4 2011年○月×日
上記のリストを作成する際には、次の参考URLのページを参照されると便利です。
【参考URL】
国立天文台 > 暦計算室 > 暦要項
http://eco.mtk.nao.ac.jp/koyomi/yoko/
国立天文台 > 暦計算室 > 暦要項 > 国民の祝日、日曜表 平成23年(2011)
http://eco.mtk.nao.ac.jp/koyomi/yoko/2011/rekiyou111.html
次に、補助シートのD1セルに
2011年7月
という具合に、集計を行う月を年から入力して下さい。
次に、補助シートのE1セルに次の数式を入力して下さい。
=IF(ISNUMBER($D$1),DATE(YEAR($D$1),MONTH($D$1),ROWS($1:1)),"")
次に、補助シートのF1セルに次の数式を入力して下さい。
=IF(ISNUMBER($E1),IF(OR(COUNTIF($B:$B,$E1)>0,MONTH($E1)<>MONTH($D$1),ISERROR(INDIRECT("'"&DAY($E1)&"'!A1"))),"",TEXT($E1,"aaa")),"")
次に、補助シートのG1セルに次の数式を入力して下さい。
=IF($F1="","",INDIRECT("'"&DAY($E1)&"'!A1"))
次に、補助シートのE1~G1の範囲をコピーして、補助シートのE2~G31の範囲に貼り付けて下さい。
次に、月曜日シートの「1シート~31シートの各A1セルの値」の平均値を表示させるセルに、次の数式を入力して下さい。(この数式中のA1と記されている箇所は、この数式を入力するセルのセル番号に合わせて、適時、変更した方が望ましいと思いますが、このままでも一応は正常に動作します)
=SUMIF(補助!$F:$F,MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,1),補助!$G:$G)/COUNTIF(補助!$F:$F,MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,1))
次に、月曜日シートの「1シート~31シートの各A1セルの値」の平均値を表示させるセルをコピーして、火曜日シート~日曜日シートの「1シート~31シートの各A1セルの値」の平均値を表示させるセルに貼り付けて下さい。
後は、集計を行う年月に合わせて、補助シートの休日のリストと、D1セルに入力してある年月の値を、適時修正すれば、各曜日毎のA1セルの値の平均値が、自動的に計算されます。