比较具有复杂条件的两列

时间:2015-07-27 22:05:45

标签: excel

我无法理解这两个列之间的多条件。我有两列A和B,但是想使用一些公式来比较A列的每个“分组”。例如,在A列中,如果所有“group 2”都将所有B列值都设为Pass,那么它就是一个传递。

编辑:我已经用更多的规则更新了它,因为这对我来说更复杂一点。

只有5个标准:

  • PASS,PROG,UNAVAIL,IGNORE,“BLANK”

规则:

  1. 如果子组有1个或更多失败则失败
  2. IGNORE如果子组有1个或多个忽略
  3. 通过所有通行证或PASS和UNAVAIL的组合
  4. PROG如果没有失败并且是PASS,UNAVAIL,PROG的组合
  5. “BLANK”被视为UNAVAIL
  6. enter image description here

    感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:1)

(答案已更改以反映新标准)

此表:

enter image description here

使用以下两个公式创建(使用名称位于第一行的A-C中的命名范围):

在C1中我输入(然后复制)

=CONCATENATE(TRIM(A2),"-", IF(LEN(TRIM(B2)) > 0, TRIM(B2), "UNAVAIL"))

在F2中我输入(然后复制)

=IF(COUNTIF(Tag, E2 &"-FAIL") >0, "FAIL",IF(COUNTIF(Tag, E2 &"-IGNORE") >0,"IGNORE",IF(COUNTIF(Group,E2) = COUNTIF(Tag, E2 &"-PASS") + COUNTIF(Tag, E2 &"-UNAVAIL"),"PASS","PROG")))

第四种情况就像是交换机底部的其他情况 - 无需明确检查条件。

答案 1 :(得分:0)

沿着同样的路线, 添加一列C,如果结果是传递值为0, 结果是失败值将是-100000左右(大阴性) 对于不确定的使用一些素数负像-3 / 然后使用数据透视表并使用值的总和 然后你可以使用公式推断出不同的条件。

如果所有的结果都使用大的负数就可以了 不确定,只要它们不会重叠小于-100000左右的范围。 无论如何,你明白了。

enter image description here

答案 2 :(得分:0)

This formula may work (enter as an array formula CTRL-ENTER):

=IF(SUM(IF(IF($A$2:$A$23=$E2,$B$2:$B$23,"OUT_OF_GROUP")="FAIL",1,0))>0,"FAIL",IF(SUM(IF(IF($A$2:$A$23=$E2,$B$2:$B$23,"OUT_OF_GROUP")="IGNORE",1,0))>0,"IGNORE",IF(SUM(IF(IF($A$2:$A$23=$E2,$B$2:$B$23,"OUT_OF_GROUP")="PASS",1,0))+SUM(IF(IF($A$2:$A$23=$E2,$B$2:$B$23,"OUT_OF_GROUP")="UNAVAIL",1,0))+SUM(IF(IF($A$2:$A$23=$E2,$B$2:$B$23,"OUT_OF_GROUP")=0,1,0))=SUM(IF($A$2:$A$23=$E2,1,0)),"PASS","PROG")))

Here Group and Result are in $A$2:$A$23 and $B$2:$B$23, respectively. E2:E11 holds "s1" through "s10". I assumed Rule 3 meant that a combination of UNAVAIL and blanks is a PASS --- the logic could be modified to make that a PROG.