上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函数提取出现次数最多的值,最后统计该值出现过几次,那么本月就有多少周。