Excel 中怎樣解決 IF 函數多於 7 層嵌套?

03版excel. IF函數至多7層嵌套,我需要嵌套至33層,求助如何解決?或者,有什麼別的類似函數可以替代使用?


可以使用定義名稱的方式來突破函數7層嵌套的限制,將7層嵌套複製,Ctrl+F3定義名稱,將其賦值給一個名稱,比如aa,然後再引用aa作為參數即可。

但要做到33層嵌套,我感覺使用其他的方向是不是更好啊,比如自己寫個VBA做 Select Case 等。


最簡單的就是換EXCEL2010或2013版本的就OK了。

但是不建議使用這麼多層級的if,性能很差的。

lookup或者choose都可以啊


33層……你怎麼就不用一下LOOKUP函數呢,如果可以用LOOKUP的話就沒必要慢慢的IF了。


如果你能升級到Office2019或者Office365版本,那麼有一個新函數IFS可用,最多支持127個不同的條件。

語法和邏輯都非常簡單,不需要嵌套使用。

=IFS([Something is True1, Value if True1,Something is True2,Value if True2,Something is True3,Value if True3)

=IFS(條件1,結果1,條件2,結果2,條件3,結果3...)

但是,如果你不能升級到新版本的話,那就建議你用Lookup函數。

LOOKUP函數默認情況下只能「模糊匹配」,通常在一些查找匹配「等級」的情況下應用很方便。

通過一些技巧,也能進行精確查找匹配。

Excel限制IF嵌套只能7層是有道理的,因為嵌套的層數過多會帶來其它問題。

首先就是邏輯的問題,多層嵌套容易出錯。一旦出錯,排查也是很費勁的事情。

其次多層嵌套的公式多了的話會大大降低運算效率。如果一個工作簿只有那麼幾個單元格用了多重IF函數嵌套還好,但是如果這個公式需要批量複製填充到幾百上千個的時候,運算起來會很慢。

更多好玩有趣的乾貨,關注公眾號「玩Office」


以前確實只能7層啊,沒得解決,現在64層了。


如果要用到33層的if,是時候捊一捊解題思路了


我正好也是遇見同樣的困擾,要處理一組數據,需要嵌套36層,但是可能要處理的數據類型跟你不一樣。最後是使用的vlookup解決的。

問題描述,要求計量單位為「個」的,輸入「01」,計量單位為「根」的,輸入「02」,以此類推。(K和L是標準)。I列是計量單位,要求得出J列的編碼。

我本來是想用IF語句來判斷的,但是無奈有36層嵌套,IF實現不了,最後腦子一抽,使用vlookup完成了。使用比較語句,當I列與K列一致時,輸出L列(大概就這個意思)。

不知道描述的是不是清楚。。希望回答有用。


試試用choose函數嵌套match函數

CHOOSE(MATCH(lookup_value,lookup_array,),value1,[value2],...)

lookup_value 要進行判定的單元格A

lookup_array 單元格A可選的值

value1,[value2],... 單元格A的值所對應的值

我的解釋不一定清楚,具體的公式應用你可以在excel的幫助中查看


可以用 =if()+if()+if()……

用到這麼多,是時候考慮其他函數了


用vba


天啊,33層!!!

我還是建議你去微博@ mrexcel去吧

http://weibo.com/mrexcel


推薦閱讀:

vlookup 公式寫對了,但下拉出現錯誤該怎麼辦?
在不使用數據透視的前提下,怎樣匯總全年數據?
請問Excel中查表需要用到什麼公式?
Excel表格怎麼計算比例?
如何用函數使得A1>0是單元格A1填充色變成紅色?

TAG:MicrosoftExcel | Excel公式 |