如何解决两个表列中的Countif日期不同
我有点问题。不然我为什么会在这里? ;)
我有一个表 (table1),在这个表中我有两列,如果日期不同(任务截止日期和任务完成日期),我想计算这两列。我要做的是计算逾期或按时交付的任务。 (是的,我知道有免费模板可用,这主要是为了了解有关使用 Excel 的更多信息)
在我的计算表中,我要计算:
- 在任务截止日期之前或等于 (
- 超过 (>) 任务截止日期的任务完成日期数量
我认为问题出在 COUNTIF
语句中,因为它似乎只接受一个数组(计数数组),然后是似乎不处理数组的条件。
我也试过 =SUMPRODUCT(COUNTIF(Table1[Task complete date];"<=" & Table1[Task due date]))
但这给了我 8 的值(虽然我有两个可能的匹配项)
根据 This tutorial,我应该得到 1 和 0 的返回值,但看看我得到的计算步骤:SUMPRODUCT({1;1;2;2;2;0;0;0;0;0})
这当然是 8 的值的来源。>
有什么办法可以解决这个问题吗?我是否需要添加某种 if
语句或某种预检查?
Here is a link to the excel document with some test data
顺便说一下:在我的国家,逗号分隔符是 ;
而不是真正的逗号。这就是为什么有些人希望在半列中使用逗号。
任何帮助将不胜感激。提前谢谢大家。
蒂纳斯
解决方法
您可以向“项目任务”表的 M 列添加日期检查:=IF(COUNTBLANK(F4)+COUNTBLANK(K4)=0,IF([@[Task due date]]<=[@[Task complete date]],"On time","Past Due"),"")
。
然后您可以在“数据”表的 K 列中使用 =COUNTIF(Table1[Date check],[@[on time/past due]])
。
附言如果您需要给定函数的翻译,您可以检查 https://de.excel-translator.de/
,您获得大于 1 的值的原因是您的 COUNTIF 实际上是在比较表 1[任务完成日期]中的每个值与表 1[任务截止日期]中的每个值强>。例如如果 [任务完成日期] 是 1 月 1 日,它会计算有多少 [任务截止日期] 值大于或等于 1 月 1 日,例如,可能是 2。然后它移动到 [任务完成日期] 中的下一个值并执行相同的操作。
所以你需要这样做:
在任务截止日期之前或等于 (
=SUM(--(Table1[Task complete date]<=Table1[Task due date]))
超过 (>) 任务截止日期的任务完成日期数量
=SUM(--(Table1[Task complete date]>Table1[Task due date]))
附加说明
对于 2019 之前的 Excel 或 Excel 365 版本,上述公式必须作为数组公式输入,因此您必须使用 CTRL+SHIFT+ENTER 输入它们。对于您的 Google Sheets 版本,这些也必须是数组公式,但您还需要一些额外的过滤来让它忽略空白单元格。你可以这样做:
=ArrayFormula(SUM((K4:K24<=F4:F24)*(K4:K24>0)))
和
=ArrayFormula(SUM((K4:K24>F4:F24)*(K4:K24>0)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。