如何写一个公式,确定一个组中的所有任务是否被解决,除了某个特定的任务?

我有一个Excel公式问题。 我有很多不同规模的团队。 每个小组都有任务。 我想检查一下,如果一个组中的所有任务的状态都是“OK”,除了一个叫做“change”的任务。

“变化”并不重要,但重要的是,我知道这个小组的任务是“变化”,因为有些小组没有任何“变化”的任务。 我只想计算包含任务“变化”的组。

最后,我想知道,如果一个组有任务“改变”,并且组中的所有任务都具有所有任务,除了状态OK或NOK中的“改变”。

请看看图片,以便更好的理解。

+---------+--------+-------+--------+ | Task | Status | Group | Result | +---------+--------+-------+--------+ | | | A | 1 | | Build | OK | A | | | Install | OK | A | | | Build | OK | A | | | Install | OK | A | | | Build | OK | A | | | Install | OK | A | | | Change | NOK | A | | | Change | NOK | A | | | | | B | 0 | | Build | OK | B | | | Install | OK | B | | | Build | NOK | B | | | Install | OK | B | | | Build | OK | B | | | Install | OK | B | | | Change | NOK | B | | | Change | NOK | B | | | | | C | 1 | | Build | OK | C | | | Install | OK | C | | | Build | OK | C | | | Install | OK | C | | | Build | OK | C | | | Install | OK | C | | | Change | OK | C | | | Change | OK | C | | +---------+--------+-------+--------+ 

我尝试数组,索引,匹配,大,最小公式,但不知何故,我没有得到我想要的结果。

假设你的头文件是以A1开始的,而你的第一个公式是在D2中,那么下面的代码将得到第一个组的真/假(1,0)值。 这适用于复制单元格并粘贴其他组的情况:

 =AND(SUMPRODUCT((C3:C10=C2)*(A3:A10="Change")*1)>1, SUMPRODUCT((C3:C10=C2)*(B3:B10="OK") * (A3:A10<>"Change")*1)= SUMPRODUCT((C3:C10=C2)* (A3:A10<>"Change")*1)) 

这是一个doozie。 基本上我们用AND()来testing两件事情:

  1. A列中的“更改”一词是否存在于C列中的组中?
  2. 对于不包含“更改”一词的所有单元格,“确定”任务(列B)的计数是否与所有任务的计数匹配?

如果两个条件都是真的,那么你会得到一个TRUE值输出。

在这里输入图像说明

我们可以认为这只在发生任何不变的任务时才重要。 这是我的方法:

 =IF(SUMPRODUCT(--(TRIM($C$3:$C$28)=TRIM(C2)),--(TRIM($A$3:$A$28)<>"Change")*(TRIM($B$3:$B$28)="NOK"))=0,1,0) 

PS我有TRIM()这里只是为了确保没有领先或尾随的空格。