2016-07-22 41 views
0

下午好,我正在制作一份质量控制报告,我想比较一个单元格的内容和一系列单元格。例如,EXCEL公式_如何确定一个单元格的内容是否包含在一个范围内

piece1 | colour | OK | OK | OK 
piece1 | weight | OK | NOK | OK 
piece1 | length | NOK | OK | OK 
piece1 |diameter| 1.1 | 1.2 | 1.1 
piece2 | colour | NOK | OK | NOK 
piece2 | weight | OK | NOK | OK 
piece2 | length | NOK | OK | OK 
piece2 |diameter| 1.1 | 1.2 | 1.1  

然后,我有一个范围与所有的“二进制”类型的控制,如颜色,重量,长度。我想要公式检查这个测试是否是一个二进制控制,如果是,那么我应该计算OK的数量,如果它是一个数字结果(如直径),我应该计算平均值。所以一般情况下,我的目标是这样的:

piece1 | colour | OK | OK | OK | 3 
piece1 | weight | OK | NOK | OK | 2 
piece1 | length | NOK | OK | OK | 2 
piece1 |diameter| 1.1 | 1.2 | 1.1 | 1.13 
piece2 | colour | NOK | OK | NOK | 1 
piece2 | weight | OK | NOK | OK | 2 
piece2 | length | NOK | OK | OK | 2 
piece2 |diameter| 1.1 | 1.2 | 1.1 | 1.13 

我试着IFs但也有很多的标准,以便在公式变得长了。所以我希望找到一个更简单的方法(更易于阅读和维护)。

=IF(B2=U1:U3;COUNTIF(C1:E1;"OK");AVERAGE(C1:E1)) 

与U1到U3中的“二进制”测试名称。我发现在网络上,但它不起作用。所以还有一些东西需要纠正。所以,如果你有一些想法或其他方法来改善这一点,请留下评论。谢谢!

回答

2

如果你真的需要检查的标准,那么你可以做:如果标准是在范围U1:U3

=IF(COUNTIF($U$1:$U$3,$B2)>0,COUNTIF($C2:$E2,"OK"),AVERAGE($C2:$E2)) 

这种方法会计算。如果是,则计数“OK”,否则AVERAGE

但你也可以有另一种方法。如果AVERAGE的值不是平均值,则会返回#DIV/0!错误。如果是这样,那么数“OK”。

=IFERROR(AVERAGE($C2:$E2),COUNTIF($C2:$E2,"OK")) 
+0

谢谢作品谢谢! – Hiddenllyy

相关问题