【问题标题】:Why don't #N/A and MAX (or MIN) play well with each other and what can I do abut it为什么#N/A 和 MAX(或 MIN)不能很好地相互配合,我能做些什么呢?
【发布时间】:2014-07-28 01:13:45
【问题描述】:

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

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

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

足够简单。下面是我的数据的 sn-p。

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/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/A吗?

【问题讨论】:

  • 您使用的是 Excel 2010 还是更高版本?
  • 抱歉 - 不得不从事其他工作。我有 Excel 2010。

标签: excel max min na


【解决方案1】:

对于 Excel 2010 或更高版本:

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

问候

【讨论】:

  • 这是一个非常好的解决方案,我可能应该尝试学习一些数学公式。仍然对它的工作原理有些困惑,但仍然 +1。
【解决方案2】:

您可以尝试使用数组公式

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

【讨论】:

    【解决方案3】:

    这应该可以满足您对 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

    输入它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 2016-06-10
      • 1970-01-01
      相关资源
      最近更新 更多