在我自吹自擂我是表姐之后,陆陆续续收到了一些“订单”。比如,一个做财务的朋友告诉我,她在给他们公司的同事计算收入的时候,有时候忘记根据不同的收入区间调整税率,她问我那个if的函数应该怎么设置。当然了他们的税率是不同于常规,不然好用的工具网上比比皆是。
听到这个case,我心里琢磨还好还好,这个我会,不至于打破我的表姐招牌,于是赶紧让人把她的具体需求以及区间对应税率表发过来,我好开始秀秀。
随即,拿到对应税率表如下:
数据纯属虚构,请关注格式
并且被告知如此诉求:主要条件是净收入,税率需要在结果中显示,因为有时候收入改变了,人工会忽视税率的变动。
如果按照朋友原来的想法,用if函数,则有很多嵌套,我这边不妨写一写:(假设净收入单元格所在为a1,结果需要得出对应税率)
=if(a1>80001,''30%'',if(a1>55001,''20%'',if(a1>35001,''18%'',if(a1>9001,''15%'',if(a1>4501,''10%'',if(a1>1501,''7%'',''3%''))))))
这个公式的源头就是if函数,if(条件,满足条件的做法,不满足条件的做法)。同一个案例,根据每个人习惯不通,也可以按照从小数开始。
就这个案例,因为条件偏长,在编写公式的过程中很容易漏掉条件或者漏掉括号,这个需要小心注意。
还有一个问题,假如条件变化,比如净收入范围有所变化,或者对应的税率有所变化,那么以上这个这个公式就要找到对应的坑去变动一下。
在这里,推荐一个更好的方法,用万能的vlookup的近似查找功能。
先来看看vlookup的语法,vlookup(查找对象,查找范围,返回数据在查找区域的第几列数,近似查找/精确查找)
一般用vlookup用的都是精确查找,但是这里,因为涉及到范围,我们使用近似查找。
excel里面讲究数据的”干净整洁“,在这个案例中,对应税率表就需要做一改动如下:
改动后的税率对应表
大家可以看到,改动后的表格主要是把范围分开变成了起点和终点,后面将主要用这个起点来查找对应的税率。
还是以净收入为a1单元格,以上税率对应表所在区域为e到g列,所以税率对应的公式为:
=vlookup(a1,$e:$g,3,1)
公式的含义为以a1为查找对象,在所在e-g列的对应税率表内查找以起点为标准的对应第三列的税率,最后的1表示为近似查找。
这样的话,如果税率对应表中,想改变净收入范围或者对应税率,只要在表格中修改,并不影响公式。