在Excel中,如何计算date范围之间的天数,只计算特定的星期几

我试图在两个date之间获得#天,但是必须只计算问题中每对date指定的一周中的几天。

例如:

操作date= 2013年9月1日和2014年5月16日每周运行date=星期一,星期三,星期五

我想计算实际操作中的总天数,给定每周操作的天数。

如果您有Excel 2010或更高版本,则可以使用NETWORKDAYS.INTL函数,该函数允许您自定义计算哪些date,例如,下列公式将计算A2的开始date和B2的结束date(包括MondaysWednesdaysFridays )而不包括H2:H10列出的假期date

=NETWORKDAYS.INTL(A2,B2,"0101011",H$2:H$10)

string“0101011”定义了要包含的date – 包含0,排除1 – 从星期一开始

在早期的Excel版本中,您可以使用此公式获得相同的结果

=SUMPRODUCT((WEEKDAY(ROW(INDIRECT(A2&":"&B2)))={2,4,6})*(COUNTIF(H$2:H$10,ROW(INDIRECT(A2&":"&B2)))=0))

其中{2,4,6}定义的工作日包括(1 =太阳到7 =周六)

到date之间的天数只是date1 – date2。

一种方法是将运行天数除以一周中的天数。 在这种情况下,这将是3/7。 在这个例子中,运行天数为110.14天。 下面是你的例子。 单元格B4具有1-sep-13,b6具有16-may-14,两者都格式化为date。

  B 4 41518 6 41775 8 =B6-B4 Days 9 =B8/7 Weeks 10 =B8*3/7 01-Sep-13 16-May-14 257 Days 36.71 Weeks 110.14 

为了得到更准确的结果,你需要知道星期哪一天,星期几(),你范围内的第一天是什么,最后一天是哪一天。