这些Excel公式的错误写法,你有几个?

很多人在输入Excel公式时,经常会出现各种错误,多数是对公式理解错误造成的。这里列举了我们经常遇到的一些错误形式,供大家借鉴。

1. 不存在的运算符

直接看这3个公式,我们很清楚它们的意图,分别是比较B3单元格中的值,是否“大于等于1”,“小于等于1”,“不等于1”,问题是在Excel中不存在“≥”,“≤”,“≠”这三个符号,所以返回#NAMME?的错误。

正确的写法如下:

=IF(B3>=1,1,0)

=IF(B3<=1,1,0)

=IF(B3<>1,1,0)

2. 连续不等式

这个公式目标也很清晰,是比较B3单元格的值是否大于1并且小于20,如果是,则返回1,否则,返回0。而且公式也没有返回错误值。

但是,这个公式也是错的!

Excel中不存在我们理解的连续不等式。如果遇到这个情况,我们应该通过And来解决。上图的例子应该用下面的公式:

=IF(AND(B3>1,B3<20),1,0)

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。

这个比较的正确写法如下:

=IF(B3>=--"2020/1/1",1,0)

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采用近似匹配的方式进行查找,所以会造成这个现象。

建议所有人都老老实实的把VLOOKUP的最后一个参数补上,根据你的实际情况写0或者1。

总结

我们今天列出了一些常见的公示的错误写法。你遇到了几个?欢迎你在下面留言交流😂。在实际中,还会有很多更加奇葩的写法,如果你看到了,也欢迎留言告诉我们,我们将放在下一次的错误案例中😄

取得本文模板文件的方式:

本文没有模板

觉得好看点个【在看】再走吧

(0)

相关推荐