Excel formula sumproduct两个日期内31天的月数

Excel formula sumproduct两个日期内31天的月数,excel-formula,Excel Formula,我有两个日期,我需要得到31天的月数。示例:第一个日期2016年2月3日最后一个日期2016年12月17日(31天的月数为6。我如何使用=SUMPRODUCT函数获取此月数?如果两个日期在同一年内 =SUMPRODUCT(--(DAY(DATE(YEAR(A1), ROW(INDIRECT(MONTH(A1)+1&":"&MONTH(B1))), 0))=31)) 这将产生5,而不是6,除非您希望包含2016年12月,否则这看起来是正确的 这可能是一个更好的公式,应该跨越一年以

我有两个日期,我需要得到31天的月数。示例:第一个日期2016年2月3日最后一个日期2016年12月17日(31天的月数为6。我如何使用=SUMPRODUCT函数获取此月数?

如果两个日期在同一年内

=SUMPRODUCT(--(DAY(DATE(YEAR(A1), ROW(INDIRECT(MONTH(A1)+1&":"&MONTH(B1))), 0))=31))
这将产生5,而不是6,除非您希望包含2016年12月,否则这看起来是正确的

这可能是一个更好的公式,应该跨越一年以上

=SUMPRODUCT(--(DAY(ROW(INDIRECT(INT(A1)&":"&INT(B1))))=31))

如果您需要包括2016年12月,则将B1改为EOMOUNT(B1,0)。

抱歉,此公式在30天内的月份内不起作用
=SUMPRODUCT(--(天(行(间接的)(INT(A1)和“&INT(B1)))=30))

好的,一开始这个int让我很困惑。是需要int吗?还是只是为了保持它干净,以防有部分时间嵌入了日期?我添加了int,因为我不确定行是否将日期作为开始和停止标记。最后一个公式和修改后的最后一个公式:=SUMPRODUCT(--(天)(行(间接)(int(A1))和“&int(EOMONTH(B1,0‘‘‘‘)’)=31)对我有效。未修改的结果为5,修改的结果为6。Jeeped没有提到的一个警告是,您的日期必须是excel中的实际日期,而不是文本。这可以通过使用类似ISTEXT(A1)的东西进行测试