Excel 2010函数与公式速查手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

案例29 本月包括多少周

源文件:案例文件\02\案例29.xlsx

计算本月包括多少个周。

打开光盘中的数据文件,在单元格A2中输入以下公式。

=WEEKNUM(EOMONTH(NOW(),0),2)-WEEKNUM((EOMONTH (NOW(),-1)+1),2)+1

按下【Enter】键后,公式将返回本月的周数。结果如图2-35所示。

图2-35

提示

本例公式利用EOMONTH函数产生本月最后一天的日期序列值,并用WEEKNUM函数计算其在本年度的周数,然后用同样方式计算本月最后一天在本年度的周数,两者之差加1即为本月包括的周数。

国内和国外对于一星期中的天数处理方式不同,国内习惯于将星期一作为一周的第一天,而其他多数国家习惯将星期日作为一周的第一天。所以设计公式的时候,需要根据读者的习惯来设置WEEKNUM函数的第二参数。

本例也可以不使用WEEKNUM函数来计算本月的周数。可以算出每一天是星期几,再计算其中出现次数最多的那个值的次数即可,公式如下。

=SUM(N(MODE(WEEKDAY(ROW(INDIRECT((EOMONTH(NOW(),-1)+1)&

":"&EOMONTH(NOW(),0))),2))=WEEKDAY(ROW(INDIRECT((EOMONTH(

NOW(),-1)+1)&":"&EOMONTH(NOW(),0))),2)))

本公式首先用EOMONTH函数产生本月1日的日期序列和下个月最后一天的日期序列,通过ROW函数转换成包含本月每一天日期值的数组。然后计算每一天是星期几,再利用MODE函数提取出现次数最多的值,最后统计该值出现过几次,那么本月就有多少周。