Excel:if公式嵌套太多了,用choose函數替代吧

IF函數雖然簡單好用,但是如果條件多了,寫起來不僅麻煩還很容易出錯,好不容易寫完了,維護也麻煩,因為難以看懂它。所以,建議超過3層的if公式就不要寫了,用其他函數替代,如choose。

choose函數用法

Excel:if公式嵌套太多了,用choose函數替代吧

語法:choose(序號,數值1,數值2,數值3,…)

功能:取出指定序號處的數值,序號必須為整數,如果是小數,會自動捨棄小數部分。

例如上圖中的“=CHOOSE(3,"A1","B2","C3","D4","E5")”將得到第3個值,也就是“C3”。但序號如果是“3.8”(即第2個公式),則會先將小數“3.8”取整得到“3”,然後查找第3個值。

這麼一看,似乎和IF沒有太大關係啊。

那我們就繼續往下看吧。

實例1

不同級別的客戶打折力度不同,請問左表的客戶可以打多少折?

Excel:if公式嵌套太多了,用choose函數替代吧

如果你用IF公式,將寫出下面這麼長的公式來。

=IF(B2=$G$2,$H$2,IF(B2=$G$3,$H$3,IF(B2=$G$4,$H$4,$H$5)))

​如果用choose,那麼公式是:

=CHOOSE(MATCH(B2,$G$2:$G$5,0),$H$2,$H$3,$H$4,$H$5)

公式中的match部分用於查找B2單元格在$G$2:$G$5的位置。明顯,choose公式的可讀性更好,但好像choose也沒有比IF短很多嘛。

實例2

​一週7天,每天都有不同的人負責打掃衛生,那麼今天誰負責呢?

Excel:if公式嵌套太多了,用choose函數替代吧

這個需求要是使用if公式寫,那就太太太長了。

=IF(WEEKDAY(A2,2)=1,$F$2,IF(WEEKDAY(A2,2)=2,$F$3,IF(WEEKDAY(A2,2)=3,$F$4,IF(WEEKDAY(A2,2)=4,$F$5,IF(WEEKDAY(A2,2)=5,$F$6,IF(WEEKDAY(A2,2)=6,$F$7,$F$8))))))

如果用choose,那就簡化為:

=CHOOSE(WEEKDAY(A2,2),$F$2,$F$3,$F$4,$F$5,$F$6,$F$7,$F$8)

是不是choose的優勢就出來啦?

實例3

​給出一個生日,怎麼知道他的生肖是什麼?

Excel:if公式嵌套太多了,用choose函數替代吧

if公式已經完成不了這麼多條件的判斷了,不過choose函數還是挺方便的。

choose公式:=CHOOSE(MOD(YEAR(A2),12)+1,"猴","雞","狗","豬","鼠","牛","虎","兔","龍","蛇","馬","羊")

總結

當條件較少時,if更方便,因為choose的第一個參數必須是整數;當條件很多時,choose比if更簡潔。


​學習,為了更好的生活。歡迎點贊、評論、關注和點擊頭像。​​​


分享到:


相關文章: