1. 首頁
  2. 職場

以工資所得個稅計算為例,EXCEL中IF函式超過7層的處理方法

以工資所得個稅計算為例,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層的處理方法