计算项目完成日期变更的次数

计算项目完成日期变更的次数
Project             Est Comp    Need Date  Revision Date
ABC123BLDP01.001    1/1/2017    2/14/2017   12/31/2017
ABC123BLDP01.001    1/12/2017   2/14/2017   1/5/2017
ABC123BLDP01.001    2/25/2017   2/14/2017   2/14/2017
ABC123BLDP01.001    4/30/2017   2/14/2017   3/31/2017
ABC123BLDP01.001    5/26/2017   2/14/2017   4/27/2017

我有一张与上面类似的表格。它里面有数百个项目,我正在想出最简单的方法来计算每个项目的第二列(Est Comp)更改的次数。数据在 excel 中。我需要 VBA 吗?或者我可以在这里创建一个 COUNTIFS 语句吗?我想不出如何使用 COUNTIFS 逐行检查同一项目的日期差异。

答案1

从上面的评论来看,似乎你只想计算给定项目中预计完成日期发生变化的行,即包含清楚的日期。这意味着,给定的预计完成日期将仅被计算一次,即使给定项目的预计完成日期出现多次。

关于如何列出和计算唯一值和不同值的良好解释可以找到这里并给出了一些使用 SUMIF() 函数的示例这里

下图所示的方法需要如图所示的“辅助”列。辅助列的公式为=1/COUNTIFS(A$2:A$16,A2,B$2:B$16,B2)。这会计算给定项目和预计完成日期组合在列表中出现的次数,然后取该数字的倒数。

例如,项目 ABC... 仅出现一次,预计完成日期为 1/1/17,但出现两次,预计完成日期为 1/12/17。因此倒数为 1 和 0.5。这样做的原因是,将给定项目的这些数字相加可以得出项目和预计完成日期列的不同组合数,也就是每个项目有多少个不同的预计完成日期。

如果您有兴趣,上面的链接对此有更详细的解释。

在此处输入图片描述

现在让我们列出项目清单。单元格 F2 有以下公式:

 =IFERROR(INDEX($A$2:$A$16,MATCH(0,INDEX(COUNTIF($F$1:F1,$A$2:$A$16),0,0),0)),"")

请注意,第一行数据上方必须有一行才能使此公式正常工作。您有列名,所以没问题。

现在剩下要做的就是计算每个项目的不同 Est Comp 日期的数量。G2 中的公式为:

 =SUMIF(A$2:A$16,F2,E$2:E$16)

此公式将每个项目的 Helper 列相加,并得出每个项目的不同 Est Comp 日期的数量。日期的次数已更改可能比这个数字少 1,但是您可以决定并在需要时减去 1。

我希望这个帮助能祝你好运。

答案2

数据透视表可能会有用。在下面的例子中,我添加了数据,并让数据透视表计算“修订日期”。您会注意到作业 123 有 7 个条目,但由于其中 3 个没有修订,因此数据透视表只计算 4 个。 在此处输入图片描述

您可以调整它以仅计算您想要使用的列。要创建数据透视表,请选择表格中的单元格,然后转到“插入”选项卡并选择“数据透视表”。选择您想要表格的位置,然后添加数据。您可能需要将“值”字段的格式从 SUM 更改为 COUNT。

相关内容