距離上次更新又過了數日
不過我們還是回來繼續更啦
數日來,一直沒有什麼素材,
今天逛了一下論壇,
發現了一位小夥伴他的公式需求,
說是要超過了Excel64層嵌套的限制,
UC震驚部的感覺……
先感受一下強大的多層嵌套:
這婀娜多姿的公式,
這多多層嵌套,一般人早已暈了,
但是這確實不是一種非常合適的處理方案。
其實一個非常簡短的公式即可全部搞定,
讓我們來分析分析
原始需求
A列網址如果包含F列中的內容就把對應的G列返回到B列
翻譯一下,就是包含返回對應值
分析需求
1、查找包含可以使用Excel中的FIND函數
語法:FIND(查什麼,在哪裡查)結果:如何查到返回對應的位置,否則返回#VALUE錯誤在一組數據中查找同理,只是返回了多個值,一一對應
2、不使用IF如何一一對應起來,這裡我們使用LOOKUP函數
如何能查找得到,我們就可以直接得到值,不用管多少條件,這裡我們要做的就是做好對照表(配置好對應關係即可)公式:=LOOKUP(1,0/FIND($F$2:$F$73,A2),$G$2:$G$73)由於LOOKUP函數使用二分法,具體原理這裡我們不展開,有興趣的小夥伴自行學習一下
這裡我們講一下套路:=LOOKUP(1,0/條件判斷,對應返回)結果返回有多個滿足條件,返回最後一個滿足條件的值
容錯處理
函數語法:IFERROR(源公式,出錯顯示內容)使用IFERROR函數,把匹配不到的錯誤顯示的更友好
對應公式 :=IFERROR(LOOKUP(1,0/FIND($F$2:$F$73,A2),$G$2:$G$73),"無對應名稱")
當然這樣的問題我們還有很多公式可以解決這裡我們放幾個供參考:
補充公式1:=IFERROR(INDEX(G:G,MIN(IF(ISNUMBER(FIND($F$2:$F$73,A2)),ROW($F$2:$F$73)),9^9)),"無對應名稱")
補充公式2:=IFERROR(INDIRECT("G"&MAX(COUNTIF(A2,"*"&$F$2:$F$73&"*")*ROW($F$2:$F$73))),"無對應名稱")
……
小結:高手不追求"長度",短小精煉才是他們的所64,再複雜的需求,換一個角度或者公式處理就會簡化很多,函數的積累對這類問題非常重要
Excel技巧大全,正在火熱更新中……
閱讀更多 Excel辦公實戰 的文章