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 要進行判定的單元格Alookup_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公式 |