實用Excel技巧分享:消除Vlookup的“BUG”(excel功能vlookup)
手機如何做表格:點擊查看
今天某學員興高采烈地跟我說發(fā)現(xiàn)vlookup存在一個重大的BUG。我聽完一愣,這不應該吧?
聽完這位學員詳細敘述,我終于明白了。她所說的“BUG”是指Vlookup函數(shù)在運算過程中如果第三個參數(shù)返回值所在單元格為空,函數(shù)返回的結果不是空而是0。如下表所示,學員根據(jù)員工工號查找對應扣除工資明細,源表中9003工號對應的E4單元格為空時,右側表中輸出的結果為0,而不是空。
學員表示這種情況可能會導致數(shù)據(jù)統(tǒng)計錯誤,帶來很大的麻煩。那么如何才能使空白單元格就返回一個空白單元格呢?
這個問題很簡單,我們只需要對原vlookup函數(shù)公式運算結果進行判斷,如果運算結果為0,就返回空值,如果運算結果不為零,就返回運算的結果。
首先給大家看看采用新的函數(shù)公式后的結果:
我們通過函數(shù)公式:=IF(ISNUMBER(VLOOKUP(I2,A:E,5,0))=FALSE,"",VLOOKUP(I2,A:E,5,0))就完成了“空對空”。
學員看完公式表示很懵,這么多括號怎么才能理清邏輯關系呢?況且還有個從來沒用過的ISNUMBER函數(shù)!
當我們遇到很長的函數(shù)時不要害怕,只要按步拆解就能弄明白。
下面我們就為這位學員拆解函數(shù)公式。
拆解第一步:
VLOOKUP(I2,A:E,5,0)此部分函數(shù)公式相信經常看我們excel教程文章的朋友都比較熟悉,其含義是返回I2單元格在A列所在的行數(shù)對應第5列單元格內容。“千字不如一圖”,用一張圖片大家就會一目了然。
注意:1、vlookup常規(guī)的用法是查找值必須在選擇的區(qū)域首列。2、第三個參數(shù)列號不能小于1,不能大于所選單元格區(qū)域總的列數(shù)值。如選中A:E區(qū)域后,區(qū)域里總共只有5列,如果輸入6,那么就會返回單元格引用錯誤信息“#REF”。
拆解第二步:
ISNUMBER(VLOOKUP(I2,A:E,5,0)這部分函數(shù)公式看起來陌生,其實比第一步理解起來更加容易。只是在前面增加了一個ISNUMBER函數(shù),我們只要弄清楚這個函數(shù)就簡單了。
ISNUMBER函數(shù)可以拆解為IS+NUMBER,這樣拆解開大家應該都會明白,其實就是“是否為數(shù)值”,他的功能就是判斷一個單元格是否為數(shù)值。
下面我做個簡單的演示給大家看下:
我們可以看到上面的例子中E6單元格為空白,ISNUMBER判斷結果為FALSE。文章開頭所描述的“9003工號對應的E4單元格為空”也是如此, ISNUMBER(VLOOKUP(I2,A:E,5,0)把9003工號的扣除工資判斷為FALSE。
拆解第三步:
這部分內容主要涉及到一個非常常用的函數(shù)——IF。IF不過多解釋,它的功能很強大,主要用來判定是否滿足某個條件,如果滿足返回一個值,如果不滿足返回另外一個值。
下面我還是做個簡單的演示給大家看下:
上表中我們可以很容易理解=IF(F6=FALSE,"",E6)函數(shù)公式。那么我們可以直接用ISNUMBER(VLOOKUP(I2,A:E,5,0)代替F6,雙引號中間沒有任何字符表示空白,VLOOKUP(I2,A:E,5,0)代替E6。最后就形成了我們文章開始所出現(xiàn)的函數(shù)公式:=IF(ISNUMBER(VLOOKUP(I2,A:E,5,0))=FALSE,"",VLOOKUP(I2,A:E,5,0))
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。