我正在尝试比较绿色的两列。如果标记为“C”的列中的值均在标记为“C Assay”的列中给出的值的 +/-0.01 范围内,那么我希望它将“PASS”值输出到“Accuracy”旁边的单元格,否则会输出“FAIL”。
我设法比较一对值并使用此输出预期结果:
=IF(ABS(G91-H91)<0.01,"PASS","FAIL")
我只是不知道如何让它迭代 2 列中的每一对,以在所有对都满足/不满足上述条件时输出单个“通过/失败”。
我尝试使用这个的几个版本:
=IF(COUNTIF(ABS((G91:G102)-(H91:H102)),<0.01),"PASS","FAIL")
但这没有用。
如有任何帮助,我们将不胜感激。谢谢!
我制作了一个假数据集并添加了一个辅助列只是为了澄清,但您根本不需要它。您需要的公式是:
=IF(SUMPRODUCT(--(ABS($C$2:$C$15-$B$2:$B$15)>0,01))=0;"PASS";"FAIL")
这里棘手的部分是使用 SUMPRODUCT 结合双一元运算符来处理数组。这是它的工作原理:
ABS($C$2:$C$15-$B$2:$B$15)
它将根据 C Assay 和 C 获得差异的绝对值。这部分的输出将是一个数组,如名为 just checking
--(step 1 formula) > 0
内。这将检查是否有任何差异高于 0.01 并返回 true/false
。但请注意,我们使用双一元运算符 --
,因此每个布尔值如果为 true,则将转换为 1
,如果为 false,则转换为 0
。您可以使用公式选项卡上的评估公式按钮查看其工作原理的每个步骤。 Excel 如何处理单个案例非常有趣。