Excel的函数帮助文件告诉我们的只是一些晦涩难懂的术语,真正我们将这些函数为工作所用的时候,发现还有很多细节是需要我们注意和知晓的。 比如说:COUNTIF函数、MATCH函数等等,都是高频函数。这些函数大家也都知道,但是使用的时候,还是有一些细节可能被我们所忽略。只有自己工作中掉坑里了,才有更深的印象来记住。
下面我们就一起来聊聊这两个函数容易出错、被忽视的地方。
第一,COUNTIF函数
下面所示的Excel截图中,2、3、6行的编码,用公式:
=IF(COUNTIF($A$2:$A$7,A2)>1,"重复","")
返回的结果是重复的。但是我们仔细看这些编码并不重复,公式貌似也没有问题,那是哪里的问题,难道我的Excel坏了吗?
小编为了大家能够发现问题,特意将前面15位用红色标注出来。
其实,这是因为COUNTIF函数在处理文本型数字时,会自动按数值进行处理,然而Excel的最大精度只有15位,超过15位部分全部按0进行处理,所以对于18位的编码出现了错误判断。
解决方法:将公式修改为:=IF(COUNTIF($A$2:$A$7,A2&"*")>1,"重复","")
也就是在公式加上&"*",加上星号(*)的目的是使其强制识别为文本,相当于告诉COUNTIF函数,我找的是以A2单元格内容开头的文本,这样就可以区分编码是否真的重复了。
第二,MATCH函数
我们经常使用VLOOKUP、INDEX+MATCH函数来查找。
不过当遇到*号的时候,就会出洋相。
比如说:E2单元格的公式,我们用了下面三条来对比:
只有第三条公式能够显示正确结果,前面两条都有问题的。如果查找的数据不包含*号,那么三条公式都是正确的。
原因:MATCH函数、VLOOKUP函数,在有多个符合条件的结果,只能返回第一个的位置,所以就傻傻的分不清了。
最后一个LOOKUP函数公式:用D2=A2:A14,以完全匹配的方式返回逻辑值TRUE或是FALSE。再用0除以逻辑值,得到0或是错误值#DIV/0!组成的内存数组。最后使用1作为查找值,以内存数组中最后一个0进行匹配,并返回B2:B14单元格对应位置的内容。
如果你正好是Excel新手朋友,暂时不明白这些原理也没有关系,把案例的场景记住,以后自己遇到查找的内容包含*的时候,谨慎些,能够回忆起本文所讲的如何规避这些错误就好。
或许对于刚进入职场的新手朋友来说,真的是要上班以后才能体会到Excel的强大。在不真正用这些软件来工作的时候,可能对办公软件都是不屑于顾的,OFFICE软件弱爆了吧,还学这个。然而,新人们的真实描述应该是这样的:人在职场,或败于word,或亡于Excel,或卒于PPT~~~ |