我正在尝试编写一个公式,以计算有多少员工逾期未完成任务。问题是完成日期和截止日期保存在多个单独的工作簿中,我不希望打开这些工作簿以使用公式(没有countif)。因此,我认为sumproduct是我最好的选择。我现在的公式是:
=sumproduct('location of workbook'!W37:W189,"">'location of workbook'!$S$9)
其中W37:W189
引用完成日期,$S$9
引用截止日期。当我运行公式时,我收到#VALUE!
消息。
答案 0 :(得分:0)
SUMPRODUCT
函数用于将数组值与其他数组中的相应条目相乘,然后将它们相加以获得总值。它只适用于数字,而不是日期。由于传递的第二个参数是字符串,而不是预期的数组范围,因此会出现#VALUE!
错误。
请参阅Excel countif date in cell is greater than or equal to date in another cell - 您需要将条件运算符括在双引号">"
中,并使用&符号&
附加要与之比较的日期值。
我相信COUNTIF
是你所追求的功能;这会计算第一个参数范围内满足第二个参数条件的所有单元格,例如
=COUNTIF('[workbook]SheetName'!W37:W189, ">" & '[workbook]SheetName'!$S$9)
注意:正如OP所评论的那样,只有在第一个参数中提到的工作簿也打开时,这似乎才有效。不知道为什么。其他工作簿可能会被关闭。如果第一个工作簿已关闭,则需要以下解决方法:
=SUMPRODUCT(--('[workbook]SheetName'!W37:W189>'[workbook]SheetName'!$S$9))
抱歉,我不知道为什么这种解决方法有效。我在this thread on MrExcel.com
中找到了它