EXCEL Formula_如何确定单元格的内容是否包含在范围内

时间:2016-07-22 12:27:23

标签: excel-formula

下午好,我正在制作质量控制报告,我想比较一个细胞的内容与一系列细胞。例如,

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中的名称。我在网上发现了它,但它不起作用。所以还有待纠正的事情。因此,如果你有一些想法或其他方法来改进这个,请发表评论。谢谢!

1 个答案:

答案 0 :(得分:2)

如果你真的需要检查标准,那么你可以这样做:

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

如果条件在范围U1:U3中,则此方法将计算在内。如果是,则计算" OK" s,否则AVERAGE

但你也可以采用另一种方法。如果AVERAGE没有平均值,则会返回#DIV/0!错误。如果是,那么计算" OK" s。

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