Excel里居然有个二百五,严重影响我们查找与求和!它就是
一、现象
我们在使用VLOOKUP、SUMIF、COUNTIF函数进行查找、求和、统计时,如果单元格中的字符数较多时,可能会遇到这样的问题:
公式明明是正确的,但系统总是提示错误。
比如下图中的C6单元格公式为:
=COUNTIF($A$2:$A$8,A6)
公式并没错,但系统提醒错误:
而C8单元格的公式为:
=COUNTIF($A$2:$A$8,A8)
公式都是一样的,C8却不提示出错。
SUMIF、和VLOOKUP函数也存在类似情况,比如D6单元格的公式为:
=SUMIF($A$2:$A$8,A6,$B$2:$B$8)
G6单元格的公式为:
=IFNA(VLOOKUP(A6,$A$1:$A5,1,0),"")
D6和G6单元格都显示公式错误。
二、原因
上面的公式显示出错,并不是公式写错了,而是这些函数的先天性缺陷造成的:
如果COUNTIF、SUMIF二函数的条件超出255个字符,系统会提示公式错误(#VALUE! 错误)。
如果VLOOKUP的查找值超出255个字符,系统会提示公式错误(#VALUE! 错误)。
如果不知道这些函数有这个限制,遇到这种情况时,会极大地困扰我们。
三、解决方案
要解决上面的二百五困扰,可以使用SUMPRODUCT函数、LOOKUP函数来替代,比如,
C6单元格条件计数可用下面的公式替代:
=SUMPRODUCT(($A$2:$A$8=A6)*1)
F6单元格条件求和可用下面的公式替代:
=SUMPRODUCT(($A$2:$A$8=A6)*$B$2:$B$8)
G6单元格查找引用可用下面的公式替代:
=IFNA(LOOKUP(1,0/($A$2:$A$8=A6),$A$2:$A$8),"")
注意:
G6单元格不能用INDEX+MATCH函数来查找,因为MATCH函数与SUMIF、COUNTIF、VLOOKUP一样,也存在二百五困扰。
另外,VLOOKUP函数使用模糊查找时,如果查找区域的字符数超255个字符,可能会出错。
比如下图中查找埃及的系数,埃及包含在B8单元格,而B8单元格超出255个字符,查找结果显示未查到的错误(#N/A):