这些Excel公式的错误写法,你有几个?
很多人在输入Excel公式时,经常会出现各种错误,多数是对公式理解错误造成的。这里列举了我们经常遇到的一些错误形式,供大家借鉴。
1. 不存在的运算符
直接看这3个公式,我们很清楚它们的意图,分别是比较B3单元格中的值,是否“大于等于1”,“小于等于1”,“不等于1”,问题是在Excel中不存在“≥”,“≤”,“≠”这三个符号,所以返回#NAMME?的错误。
正确的写法如下:
=IF(B3>=1,1,0)
=IF(B3<=1,1,0)
2. 连续不等式
这个公式目标也很清晰,是比较B3单元格的值是否大于1并且小于20,如果是,则返回1,否则,返回0。而且公式也没有返回错误值。
但是,这个公式也是错的!
Excel中不存在我们理解的连续不等式。如果遇到这个情况,我们应该通过And来解决。上图的例子应该用下面的公式:
3. 与日期的比较
这两个公式目标也很清晰,是要比较B3单元格中的日期和“2020/1/1”,如果在2020/1/1之后,就返回1,否则返回0。而且两个公式都没有报错。
但是,这两个公式都是错误的。
第一个公式比较的是:B3>="2020/1/1",我们要注意,B3是个日期,在Excel中,日期就是数值。而“2020/1/1”却是一个字符串,在Excel中,任何数值都小于任何字符串,所以这个比较返回的结果永远是False,因此,IF的返回值是0。
第二个公式比较的是:B3>=2020/1/1,我们要注意在不等式右边并不是日期,而是一个连除式,相当于2020除以1再除以1,结果是2020。而B3单元格中的日期代表的数值是40461,所以不等式返回的结果永远是True,因此,IF的返回值是1。
这个比较的正确写法如下:
4. COUNTIF(SUMIF)比较单元格的值
在这个例子中,我们也很容易就明白两个公式的意图:都是在统计C3:C6单元格中比200的数有几个,只不过第一个公式是比较的单元格,第二个公式比较的是数字常量。看上去应该是一样的。
但是,第二个公式是正确的,而第一个公式是错误的。
在第一个公式中,“>E3"并不是我们想当然的认为的那样在与E3单元格中的值作比较,而是在与">E3"这个字符串作比较。结果当然是没有满足条件的。
正确的写法是:
=COUNTIF(C3:C6,">"&E3)
5. VLOOKUP省略最后一个参数
严格的说,这不是一个错误。因为Excel支持这么做。但是不分场合的使用才会造成错误。
Vlookup函数最后一个参数是可以不写的。就像上图的例子。问题是很明显返回结果是错误的。
这是很多自己摸索Vlookup函数的初学者容易犯的一个严重错误。因为,如果你老老实实的正确的写这个函数:
=VLOOKUP(E3,B3:C6,2,0)
Excel就会返回正确结果。即使找不到,也会返回#N/A错误值提示你这个值找不到。但是如果你省略了最后一个参数,Excel将会返回一个结果,而结果的正确与否只有天知道。
这个原因是当你不写最后一个参数时,Excel默认缺省值为True,导致Vlookup采用近似匹配的方式进行查找,所以会造成这个现象。
总结
我们今天列出了一些常见的公示的错误写法。你遇到了几个?欢迎你在下面留言交流😂。在实际中,还会有很多更加奇葩的写法,如果你看到了,也欢迎留言告诉我们,我们将放在下一次的错误案例中😄
取得本文模板文件的方式:
觉得好看点个【在看】再走吧