在Excel中,可以使用if函数进行多层嵌套,但是第一很难掌握,第二嵌套层数太多很容易出错。如图所示这个案例:

要根据右边表格的销售区间范围求出左边表格的员工提成,一般大家想到的就是使用if函数嵌套,具体的语法为。

公式:
=IF(C2<10000,C2*0.01,IF(C2<30000,C2*0.03,IF(C2<50000,C2*0.05,IF(C2<80000,C2*0.07,C2*0.1))))
大家可以看下if嵌套了多少层,就算这样能解决问题,但是如果修改了提成比例还要修改公式,如果增加了提成比例,还要再次进行嵌套。所以使用if错层嵌套的错误率是非常低的。
为了解决这个问题,我们可以使用vlookup函数的近似匹配。
精确匹配/近似匹配
更多vlookup函数的知识,可以参考我的专栏《别怕,vlookup函数很简单》,在专栏中对vlookup函数的语法以及和其他函数的配合使用都做了详细的讲解。
我们常用的是精确匹配,实际近似匹配也很有用。但我们需要改造下提成表。如图所示:

接着我们就可以使用vlookup函数了。

公式为:=VLOOKUP(C2,$G$2:$H$6,2,TRUE)*C2
这样就算你修改提成值,公式也不用改动了。
我们来分析下,为什么要增加辅助列,以及vlookup近似匹配的原理。
增加辅助列,是为了确定最小值。比如要查询10000这个值,那么vlookup会从这个辅助列中找小于等于10000的值,它找到了9999和0,而近似匹配就是从找到的值中找到最大值,显示9999和0的最大值是9999,所以返回了9999对应的结果。
所以我们分好区间,就可以使用vlookup函数代替if函数了,这样第一简单,第二不容易出错,第三公式能够重复使用。
