个人所得税计算之不用IF用VLOOKUP
2017-05-04 10:32阅读:
在Excel数据处理中,有一个大的门类叫做——评分定级。它的意思是:用某个数值,在制定好的评判标准中,自动提取对应的评级结果。例如:根据绩效考评分数给员工评定优良中差,根据销售业绩给销售人员评定一二三级,根据回款的超期天数给付款方评定优良中差,根据购买总金额以及分段折扣政策获取对应的折扣百分比(如5000元以下9.8折,5000元以上9折……),这样的数据处理需求还有很多,各行各业都会遇到。这类需求的特性是:你所要进行判定的数值,在对应的标准中,不是一对一匹配关系,而是数值介于标准的某个区间内。于是,面对诸如“个人所得税计算”这种评分定级的操作,很多人第一时间想到的函数是——IF。这是因为我们最容易联想到的数学逻辑是“当大于0时,如何,不大于0时如何;大于1500时,又如何,否则,又如何……”,完整的
公式为:=IF(B2>=0,IF(B2>=1500,IF(B2>=4500,IF(B2>=9000,IF(B2>=35000,IF(B2>=55000,IF(B2>=80000,45%,35%),30%),25%),20%),10%),3%),0%),但是你说,就算会,哪个人愿意经常写这样的东西。(如下图)

而且,真正做过的朋友一定知道,通过IF进行判断,公式会随着判定条件的增多而变得很长,到最后,我常听做财务的人讲:'这公式是前任写的,我也看不懂,每个月就照着用,
但是稍微哪里出点问题,我自己根本不会改。'再换个角度,假设判定条件超过65个,Excel规定了函数的嵌套只能有64层,也就是说,包含第一个IF,你还能写64个IF,想再往下写,就得借助“定义名称”功能,将之前函数打包,才能突破嵌套64层这个限制。上网一搜,还没有指明是IF函数,只说“函数嵌套极限”,跳出的结果全和IF相关,这说明,大家在IF的使用上,很多人都有类似的疑惑。(如下图)
将来记得,凡是“评分定级”的数据处理需求,无论是个税,还是绩效评估,都应该用VLOOKUP来完成。讲课的时候我常说,使用Excel的最高境界是——快,代表操作100个数据和操作10万个数据应该用同样的时间,延伸到写公式,判定1000个条件和判定3个条件,写公式所用的时间也应该相同。刚才你已经看到,用IF是不行的,但换作VLOOKUP,“快”字诀立马就体现出来了。下面,我们先把计算个税任务分解出一个小模块,用VLOOKUP模糊匹配来提取对应的纳税百分比。(如下图)
公式的写法和普通的VLOOKUP单条件匹配一模一样,用A2(第一参数)的值,到D:E(第二参数)列里的最左列,即D列里面查找,找到了对应值返回D:E列里第2(第三参数)列的值作为公式结果,即纳税百分比。唯一不同的是,第四参数要写“1”,而我们平时做精确匹配的时候,第四参数是写“0”的,完整的
公式为:=VLOOKUP(A2,D:E,2,1)。需要大家注意一点,VLOOKUP第四参数的说明,翻译得实在有问题,如果你自学,这句话会带来理解上的严重偏差。它说:FALSE为大致匹配,TRUE为精确匹配。我们理解的“大致”,就是说两个数据不完全一样,而“精确”应该指完全一样。但事实上,当第四参数用FALSE或者0的时候,我们是用身份证号匹配身份证号,用电话号码匹配电话号码,它们都必须完全一样,才能得到匹配结果,这不是“精确匹配”是什么,所以,VLOOKUP第四参数的解释,一直以来都是一个导致大家自学出问题的关键点。
本例VLOOKUP模糊匹配公式的写法,我做了一张动态图,可以看得比较清楚。(如下图,
点击图片观看)

在编辑公式的时候,建议大家写全函数名称,用Ctrl+A调用参数设置的对话框。
具体操作是:第一步写 =VLOOKUP
;第二步按快捷键
Ctrl+A。这样的操作习惯,首先可以帮助你不断加深对函数名字的记忆,这是学习函数最重要的,例如:ABS,TRUNC,IFERROR,MOD,CHAR,CODE,你知道多少?将来在一个大任务中,可能需要用到八个函数,其中七个你都知道,一个小函数ISNUMBER没听说过,那么,这个任务可能就没办法完成。其次,通过快捷键调用参数设置对话框,根据对话框的引导进行函数的编辑,对大部分表哥表姐来说,是轻松的,安全的。除非你已经非常熟练,熟透了,才适合直接在单元格里把公式写完。
那么,VLOOKUP模糊匹配的规则是什么呢?
有两条规则——
1,用于匹配的数据列
必须升序排列(即D列);
2,数值匹配的是
小于它的最大值,或者,可以理解为
数值所在区间的小值。
先看看第一条规则,如果我们把D列变成降序排列,所有的结果会变错。因为Excel看数据的方向是:从上往下,从左往右,这其实也是任何一个系统看数据的逻辑。VLOOKUP模糊匹配是查找相近值,有“比较”的判定在里面,所以不能像精确匹配一样,数据可以在任何位置,找到就找到,找不到就算了。
第二条规则叫做:匹配数值所在区间的小值。打个比方,1200在0~1500之间,就取0作为匹配结果,20000在9000~35000之间,就取9000作为匹配结果。所以,VLOOKUP模糊匹配不是取靠近的值,这一点一定要注意。尽管1200更靠近1500,但按照规则,只要它在0~1500区间,就匹配0,从而提取0对应的3%作为公式结果。
VLOOKUP模糊匹配公式的写法没有难度,真正考验的是写对照标准的能力,也就是D:E列。给大家出个题:一家商场临时做促销,规定当天消费5000元以下,打9.8折,5000元到20000元,打8折,20000元以上,打7折。这事儿用Excel来管理,输入客人的消费总额,就能自动匹配到折扣率,从而计算出客人最终应付的金额。喏,关键在于表格里“金额”和“折扣”这两列的数据关系应该怎么写,你可以试试。
记得用“匹配数值所在区间的小值”去检验标准是否写对了。
好了,知道了VLOOKUP模糊匹配的使用,知道在第二参数设置时只需要选中D:E两列,这说明,无论判定条件有多少个,公式都一样。仅仅这一点,就是它和IF在这个任务中的效率差异,完全不可同日而语。那么,回到真正的个税计算表格中,根据个税计算的方法。完整的
公式为:=(A2-3500)*VLOOKUP(A2-3500,D:F,2,1)-VLOOKUP(A2-3500,D:F,3,1)。(如下图)
掌握了“评分定级”的标准做法,后面咱们就可以探讨“财务中对回款超期的数据管理方法”