为什么#N / A和MAX(或MIN)不能相互发挥,我能做些什么呢?

我有一个12辆汽车的清单,需要计算MPG。 我有驾驶里程和燃料消耗,所以MPG = miles / gallons of fuel很容易编程。

然后在第四列中,我想要一个最好的和最差的MPG的“标签”,所有其他的都应该是空白的。 这是我的公式:

 =IF(C1=MAX($C$1:$C$12),"MAX",IF(C1=MIN($C$1:$C$12),"MIN"," ")) 

很简单。 我的数据片段如下。

 Miles Gallons Driven Fuel MPG 1,145 101.936 11.2 MIN 1,277 91.226 14.0 4,561 376.270 12.1 3,655 236.647 15.4 2,598 204.620 12.7 2,948 222.591 13.2 2,384 153.914 15.5 1,808 127.940 14.1 3,034 168.387 18.0 3,763 234.053 16.1 3,237 196.615 16.5 1,530 72.812 21.0 MAX Next Month 2,515 191.196 13.2 1,908 111.129 17.2 1,589 112.410 14.1 2,223 147.278 15.1 2,221 145.936 15.2 #N/A 142.165 #N/A 1,928 177.609 10.9 1,150 92.072 12.5 #N/A 67.651 #N/A 79 2.849 27.7 407 22.241 18.3 10,537 94.960 111.0 

很明显,汽车12有不好的数据,但这不是我现在所关心的。 什么是给我麻烦的是6号和9号车的#N #N/A值。我的方便丹迪小公式

 =IF(C1=MAX($C$1:$C$12),"MAX",IF(C1=MIN($C$1:$C$12),"MIN"," ")) 

每辆车返回#N/A 我曾尝试使用

 If(NOT(ISNA(C1)),IF(C1=MAX($C$1:$C$12),"MAX",IF(C1=MIN($C$1:$C$12),"MIN"," ")),"#N/A") 

 If(ISERROR(C1),"#N/A" ,IF(C1=MAX($C$1:$C$12),"MAX",IF(C1=MIN($C$1:$C$12),"MIN"," "))) 

结果也一样。

我的原始方程可以重新补充#N #N/A吗?

对于Excel 2010或更高版本:

= IFERROR(LOOKUP(2,1 /(C1 = AGGREGATE({14,15},6,$ C $ 1:$ C $ 12,1)),{ “MAX”, “MIN”}), “”)

问候

你可以尝试使用数组公式

 =IF(MAX(IF(ISERROR($C$17:$C$28), 10^-15, $C$17:$C$28))=C17,"MAX","") 

这应该给你你想要的Office 2010+:

 =IFERROR(IF(C17=MIN(IF(ISNUMBER($C$17:$C$28),$C$17:$C$28)),"MIN",IF($C17=MAX(IF(ISNUMBER($C$17:$C$28),$C$17:$C$28)),"MAX",NA())),"") 

如果您使用的是Office 2007或更低版​​本,则需要

 =IF(ISERROR(IF(C17=MIN(IF(ISNUMBER($C$17:$C$28),$C$17:$C$28)),"MIN",IF($C17=MAX(IF(ISNUMBER($C$17:$C$28),$C$17:$C$28)),"MAX",NA()))),"",IF(C17=MIN(IF(ISNUMBER($C$17:$C$28),$C$17:$C$28)),"MIN",IF($C17=MAX(IF(ISNUMBER($C$17:$C$28),$C$17:$C$28)),"MAX",NA()))) 

这是一个数组公式,所以你必须使用Ctrl + Shift + Enter来input