如何计算某个范围内一周中特定日期的(小数)计数?例如,如果范围是从 6 月 3 日星期一下午 12:00 到 6 月 4 日星期二下午 12:00,并且我想计算星期一的数量,则公式将返回结果 0.5。
我已经找到了整数天数的公式:
=SUM(INT((WEEKDAY($B2-x)+$D2-$B2)/7))
其中x
是感兴趣的星期几(1 到 7)。当然,需要对其进行修改以返回上述结果。我该怎么做?
如何计算某个范围内一周中特定日期的(小数)计数?例如,如果范围是从 6 月 3 日星期一下午 12:00 到 6 月 4 日星期二下午 12:00,并且我想计算星期一的数量,则公式将返回结果 0.5。
我已经找到了整数天数的公式:
=SUM(INT((WEEKDAY($B2-x)+$D2-$B2)/7))
其中x
是感兴趣的星期几(1 到 7)。当然,需要对其进行修改以返回上述结果。我该怎么做?
您可以使用此版本获取星期一的总数(包括开始和结束日期)(您不需要 SUM)
=INT((WEEKDAY($B2-2)+INT($D2)-INT($B2))/7)
...然后进行调整以考虑开始/结束日期,例如
=INT((WEEKDAY($B2-2)+INT($D2)-INT($B2))/7)-IF(WEEKDAY($D2)=2,1-MOD($D2,1))-IF(WEEKDAY($B2)=2,MOD($B2,1))
我真的不推荐它(它更需要资源)但是这个版本应该会给你同样的结果
=SUMPRODUCT((TEXT(B2+(ROW(INDIRECT("1:"&ROUND((D2-B2)*1440,0)))-0.5)/1440,"ddd")="mon")+0)/1440
它测试日期范围内的每一分钟,以确定它是否在星期一(假设您没有精确到秒)