计算当月有X个周日

楼主
我是社区第95011位番薯,欢迎点我头像关注我哦~
        现实生活中有些公司可能每周六是需要上班的,在计算工资的时候,比较简便的方法就是将每月的天数-当月有几个周日的天数,这样就可以快速计算出工作日天数,然后根据工作日天数*每天的工资算出当月工资。因此这个问题就转换为如何计算当月有几个周日。


具体实现方法:
1.首先看每月的第一天跟每月的最后一天到底是哪周几。
    每月第一天公式:DATE(YEAR(日期),MONTH(日期),1)
    每月最后一天公式:DATE(YEAR(日期),MONTH(日期)+1,0)
2.第二步就是根据不同情况来返回不同的天数。   
(1)当本月第一天跟最后一天都是周日,这样返回的周日天数就为5天,
(2)当本月第一天为周日,最后一天不是周日的时候, 这时候需要判断总天数大于等于29天的时候,本月周日的天数也是5天,
(3)当本月第一天不是周日,本月最后一天为周日的时候,这个时候也是只要总天数大于29,本月周日数为5天,
(4)当本月第一天为周六,一个月有31天的时候,这周周日也是5天。
         最后的公式为:IF(AND(TEXT(DATE(本月第一天),'EEE')=='星期日',TEXT(DATE(本月最后一天),'EEE')=='星期日',DAYS(本月最后一天,本月第一天)==29),5,IF(AND(TEXT(DATE(本月第一天),'EEE')=='星期日',TEXT(DATE(本月最后一天),'EEE')!='星期日',DAYS(本月最后一天,本月第一天)>=29),5,IF(AND(TEXT(DATE(本月第一天),'EEE')!='星期日',TEXT(DATE(本月最后一天),'EEE')=='星期日',DAYS(本月最后一天,本月第一天)>=29),5,IF(AND(TEXT(DATE(本月第一天),'EEE')=='星期六',DAYS(本月最后一天,本月第一天)==31),5,4))))



表单外链:https://snadfyvfiu.jiandaoyun.com/f/5d5e5232bde8557e96337674

编辑于 2020-10-9 14:26  
编辑于 2020-10-9 16:37  
分享扩散:

沙发
发表于 2023-3-6 11:05:52

你的判断方式对吗?2023年 4月是5个周日,但第一天不是周日

 

 

 

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 2关注人数 6444浏览人数
最后回复于:2023-3-22 19:33

返回顶部 返回列表