以工资所得个税计算为例,EXCEL中IF函数超过7层的处理方法

时间:2022-07-14 01:37:53 职场 我要投稿
  • 相关推荐

以工资所得个税计算为例,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元的50
2超过500元至2,000元的部分超过475元至1,825元的部分1025
3超过2,000元至5,000元的部分超过1,825元至4,375元的部分15125
4超过5,000元至20,000元的部分超过4,375元至16,375元的部分20375
5超过20,000元至40,000元的部分超过16,375元至31,375元的部分251,375
6超过40,000元至60,000元的部分超过31,375元至45,375元的部分303,375
7超过60,000元至80,000元的部分超过45,375元至58,375元的部分356,375
8超过80,000元至100,000元的部分超过58,375元至70,375的部分4010,375
9超过100,000元的部分超过70,375元的部分4515,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

excel 函数关于年终奖个人所得税计算的问题07-11

工资税计算方法及年终奖个税算法07-12

新工资税计算方法及年终奖个税算法07-12

股票个人所得税计算方法06-06

如何用excel函数计算年假?07-10

求excel中年假的计算函数07-11

会计处理与税收处理的差别计算所得税07-09

年终奖个税及所得税计税工资问题?07-12

EXCEL中关于年假的函数公式07-11