计算范围内的特定天数

时间:2013-06-03 18:03:11

标签: excel date-arithmetic dayofweek

如何计算范围内特定星期几的(小数)计数?例如,如果范围是从6月3日星期一下午12:00。到星期二6月4日中午12点,我想计算星期一的数量,公式将结果返回0.5。

我已经找到了整数天的公式:

=SUM(INT((WEEKDAY($B2-x)+$D2-$B2)/7))

其中x是感兴趣的一周中的某一天(1到7)。当然,需要修改它以返回上述结果。我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以使用此版本获取星期一的总数(包括开始日期和结束日期)(您不需要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

它测试日期范围内的每一分钟,以确定它是否属于星期一(假设你没有下降到秒)