![Excel 2010函数与公式速查手册](https://wfqqreader-1252317822.image.myqcloud.com/cover/775/687775/b_687775.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
案例29 本月包括多少周
源文件:案例文件\02\案例29.xlsx
计算本月包括多少个周。
❶ 打开光盘中的数据文件,在单元格A2中输入以下公式。
=WEEKNUM(EOMONTH(NOW(),0),2)-WEEKNUM((EOMONTH (NOW(),-1)+1),2)+1
❷ 按下【Enter】键后,公式将返回本月的周数。结果如图2-35所示。
![](https://epubservercos.yuewen.com/8F6494/3590497803471101/epubprivate/OEBPS/Images/figure_0085_0002.jpg?sign=1738842748-O4ttyKt2JQ7GEiolri9j6gkmC8qo96nz-0-b6352252056d99b292962182b70fe82e)
图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函数提取出现次数最多的值,最后统计该值出现过几次,那么本月就有多少周。