- 相关推荐
以工资所得个税计算为例,EXCEL中IF函数超过7层的处理方法
EXCEL中IF函数最多能做几层?
if 函数直接套是只能套7层,但有办法可突破7层,方法如下,推荐使用方法1:
一、使用CHOOSE函数替代IF函数:
=CHOOSE(FIND("1",(条件1)*1&(条件2)*1&……&(条件N)*1),结果1,结果2,……结果N)
说明:所有条件的判断结果组成一个包含0和1的字符串(条件真得到1,条件假得到0),用FIND函数找到1的位置(条件真的位置),用CHOOSE函数得到相应结果。最多可以满足29个条件,如果超过29个条件还可以嵌套。
例如:
原IF函数语句
=IF(A1>8,9,IF(A1>7,8,IF(A1>6,7,IF(A1>5,6,IF(A1>4,5,IF(A1>3,4,IF(A1>2,3,IF(A1>1,2,1))))))))
上面IF语句套了7层,一共8层,如果想加入IF(A1>9,10则会出错
=IF(A1>9,10,IF(A1>8,9,IF(A1>7,8,IF(A1>6,7,IF(A1>5,6,IF(A1>4,5,IF(A1>3,4,IF(A1>2,3,IF(A1>1,2,1)))))))))
解决办法如下:
=CHOOSE(FIND("1",(A1>9)*1&(A1>8)*1&(A1>7)*1&(A1>6)*1&(A1>5)*1&(A1>4)*1&(A1>3)*1&(A1>2)*1&(A1>1)*1&(A1>0)*1),10,9,8,7,6,5,4,3,2,1)
编者注:我把上面的式子改成如下格式也是可以的,只是不太易于理解。至于原因,请留言
=CHOOSE(FIND("1",--(A1>9)&--(A1>8)&--(A1>7)&--(A1>6)&--(A1>5)&--(A1>4)&--(A1>3)&--(A1>2)&--(A1>1)&--(A1>0)*1),10,9,8,7,6,5,4,3,2,1)
注:以上*1也可用/1替代,如果改为*2或+1),则find语句查找"1"字串需改为"2"
=CHOOSE(FIND("2",(A1>9)*2&(A1>8)*2&(A1>7)*2&(A1>6)*2&(A1>5)*2&(A1>4)*2&(A1>3)*2&(A1>2)*2&(A1>1)*2&(A1>0)*2),10,9,8,7,6,5,4,3,2,1)
个人所得税公式(共涉及9个税率)
=CHOOSE(FIND("1",(A1>100000)*1&(A1>80000)*1&(A1>60000)*1&(A1>40000)*1&(A1>20000)*1&(A1>5000)*1&(A1>2000)*1&(A1>500)*1&(A1<=500)*1),a1*0.45-15375,a1*0.4-10375,a1*0.35-6375,a1*0.3-3375,a1*0.25-1375,a1*0.2-375,a1*0.15-125,a1*0.1-25,a1*0.05)< p="">
下面只是简单地将A1替换为(A1-2000),原因:个人收入超过2000开始收取个人所得税
=CHOOSE(FIND("1",((A1-2000)>100000)*1&((A1-2000)>80000)*1&((A1-2000)>60000)*1&((A1-2000)>40000)*1&((A1-2000)>20000)*1&((A1-2000)>5000)*1&((A1-2000)>2000)*1&((A1-2000)>500)*1&((A1-2000)<=500)*1),(a1-2000)*0.45-15375,(a1-2000)*0.4-10375,(a1-2000)*0.35-6375,(a1-2000)*0.3-3375,(a1-2000)*0.25-1375,(a1-2000)*0.2-375,(a1-2000)*0.15-125,(a1-2000)*0.1-25,(a1-2000)*0.05)< p="">
级数 | 含税级距 | 不含税级距 | 税率(%) | 速算扣除数 |
1 | 不超过500元的 | 不超过475元的 | 5 | 0 |
2 | 超过500元至2,000元的部分 | 超过475元至1,825元的部分 | 10 | 25 |
3 | 超过2,000元至5,000元的部分 | 超过1,825元至4,375元的部分 | 15 | 125 |
4 | 超过5,000元至20,000元的部分 | 超过4,375元至16,375元的部分 | 20 | 375 |
5 | 超过20,000元至40,000元的部分 | 超过16,375元至31,375元的部分 | 25 | 1,375 |
6 | 超过40,000元至60,000元的部分 | 超过31,375元至45,375元的部分 | 30 | 3,375 |
7 | 超过60,000元至80,000元的部分 | 超过45,375元至58,375元的部分 | 35 | 6,375 |
8 | 超过80,000元至100,000元的部分 | 超过58,375元至70,375的部分 | 40 | 10,375 |
9 | 超过100,000元的部分 | 超过70,375元的部分 | 45 | 15,375 |
二、还原HLOOKUP函数的原型求解:
=HLOOKUP(A1,{条件1,条件2……条件N;结果1,结果2……结果N},2,1)
说明:这一方法的条件数量不受限制。
=HLOOKUP(3,{1,2,3,4,5,6,7,8,9,10;"A","B","C","D","E","F","G","H","I","J"},2,1)
从序列1-10找寻3,返回C
=HLOOKUP(3,{1,2,3,4,5,6,7,8,9,10;10,9,8,7,6,5,4,3,2,1},2,1)
从序列1-10找寻3,返回8
[以工资所得个税计算为例,EXCEL中IF函数超过7层的处理方法]相关文章:
1.以工资所得个税计算为例,EXCEL中IF函数超过7层的处理方法
【以工资所得个税计算为例,EXCEL中IF函数超过7层的处理方法】相关文章:
EXCEL中如何用函数计算年假07-10
工资税计算方法及年终奖个税算法07-12
新工资税计算方法及年终奖个税算法07-12
股票个人所得税计算方法06-06
如何用excel函数计算年假?07-10
求excel中年假的计算函数07-11
会计处理与税收处理的差别计算所得税07-09
年终奖个税及所得税计税工资问题?07-12
EXCEL中关于年假的函数公式07-11