能不用IF,就不用IF

大部分接触Excel的第一个重要函数就是IF,使用最多的函数也是IF。但是,不得不说,很多时候,IF函数被滥用了。这种IF函数的滥用导致了很多复杂难懂的公式出现,也使得你的数据中留下了很多逻辑错误的隐患。

本文介绍了一些场景,在这些场景下,不用IF函数更好一些。

01

IF=MAX

考虑一个很简单的IF公式:

IF(A1>10,10,A1)

公式比较A1中的值跟10的大小,如果A1的值较大,返回10,否则,返回A1。

稍微仔细考虑一下,这句话实际上就是“最小值”的定义,返回两者之间较小的那个值,因此,我们可以使用下面的公式代替:

MIN(A1,10)

同样,公式:

IF(A1<10,10,A1)

可以用下面公式代替:

MAX(A1,10)

02

直接比较结果

假设我们要发季度奖金,考虑奖金基数是根据部门变化的,你可能会使用如下公式:

=IF(B3="销售部",5000,IF(B3="市场部",3000,IF(B3="开发部",2000,1000)))

这是一个很清晰的公式,但是可以不用IF函数,而是使用一下公式:

=(B3="销售部")*5000+(B3="市场部")*3000+(B3="开发部")*2000+(B3="运营部")*1000

当条目不超过4条时,我个人更愿意采用后一种写法。一个是更加清晰,另外一个在计算性能上后一种写法稍微有点优势。

图示和解释如下:

03

IF=CHOOSE

例如,我们要根据一个日期的月份返回月份的英文简称:

"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"

使用IF就过于复杂了,此时可以使用CHOOSE函数

=CHOOSE(MONTH(A2),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

04

IF=VLOOKUP

在著名的个税税率的计算中,IF公式比较复杂:

(IF(A2<=0,0,(IF(A2<=1500,A2*0.03,IF(A2<=4500,A2*0.1-105,IF(A2<=9000,A2*0.2-555,IF(A2<=35000,A2*0.25-1005,IF(A2<=55000,A2*0.3-2755,IF(A2<=80000,A2*0.35-5505,A2*0.45-13505))))))))

此时,我们可以用VLOOKUP来代替,非常直观,简洁:


好了,今天就分享到这里了。如果你有什么想法,欢迎在下面留言,我们一起探讨函数的使用!


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

(0)

相关推荐