實用Excel技巧分享:消除Vlookup的“BUG”

在之前的文章《實用excel技巧分享:四種等級評定公式》中,我們了解了四種等級評定公式的寫法。而今天我們來聊聊vlookup,看看怎么消除vlookup的“bug”,讓空返為空,一起來看看吧!

實用Excel技巧分享:消除Vlookup的“BUG”

今天某學員興高采烈地跟我說發現vlookup存在一個重大的BUG。我聽完一愣,這不應該吧?

聽完這位學員詳細敘述,我終于明白了。她所說的“BUG”是指Vlookup函數在運算過程中如果第三個參數返回值所在單元格為空,函數返回的結果不是空而是0。如下表所示,學員根據員工工號查找對應扣除工資明細,源表中9003工號對應的E4單元格為空時,右側表中輸出的結果為0,而不是空。

實用Excel技巧分享:消除Vlookup的“BUG”

學員表示這種情況可能會導致數據統計錯誤,帶來很大的麻煩。那么如何才能使空白單元格就返回一個空白單元格呢?

這個問題很簡單,我們只需要對原vlookup函數公式運算結果進行判斷,如果運算結果為0,就返回空值,如果運算結果不為零,就返回運算的結果。

首先給大家看看采用新的函數公式后的結果:

實用Excel技巧分享:消除Vlookup的“BUG”

我們通過函數公式:=IF(ISnumber(VLOOKUP(I2,A:E,5,0))=FALSE,””,VLOOKUP(I2,A:E,5,0))就完成了“空對空”。

學員看完公式表示很懵,這么多括號怎么才能理清邏輯關系呢?況且還有個從來沒用過的ISNUMBER函數!

當我們遇到很長的函數時不要害怕,只要按步拆解就能弄明白。

下面我們就為這位學員拆解函數公式。

拆解第一步:

VLOOKUP(I2,A:E,5,0)此部分函數公式相信經??次覀僥xcel教程文章的朋友都比較熟悉,其含義是返回I2單元格在A列所在的行數對應第5列單元格內容。“千字不如一圖”,用一張圖片大家就會一目了然。

實用Excel技巧分享:消除Vlookup的“BUG”

注意:1、vlookup常規的用法是查找值必須在選擇的區域首列。2、第三個參數列號不能小于1,不能大于所選單元格區域總的列數值。如選中A:E區域后,區域里總共只有5列,如果輸入6,那么就會返回單元格引用錯誤信息“#REF”。

拆解第二步:

ISNUMBER(VLOOKUP(I2,A:E,5,0)這部分函數公式看起來陌生,其實比第一步理解起來更加容易。只是在前面增加了一個ISNUMBER函數,我們只要弄清楚這個函數就簡單了。

ISNUMBER函數可以拆解為IS+NUMBER,這樣拆解開大家應該都會明白,其實就是“是否為數值”,他的功能就是判斷一個單元格是否為數值。

下面我做個簡單的演示給大家看下:

實用Excel技巧分享:消除Vlookup的“BUG”

我們可以看到上面的例子中E6單元格為空白,ISNUMBER判斷結果為FALSE。文章開頭所描述的“9003工號對應的E4單元格為空”也是如此, ISNUMBER(VLOOKUP(I2,A:E,5,0)把9003工號的扣除工資判斷為FALSE。

拆解第三步:

這部分內容主要涉及到一個非常常用的函數——IF。IF不過多解釋,它的功能很強大,主要用來判定是否滿足某個條件,如果滿足返回一個值,如果不滿足返回另外一個值。

下面我還是做個簡單的演示給大家看下:

實用Excel技巧分享:消除Vlookup的“BUG”

上表中我們可以很容易理解=IF(F6=FALSE,””,E6)函數公式。那么我們可以直接用ISNUMBER(VLOOKUP(I2,A:E,5,0)代替F6,雙引號中間沒有任何字符表示空白,VLOOKUP(I2,A:E,5,0)代替E6。最后就形成了我們文章開始所出現的函數公式:=IF(ISNUMBER(VLOOKUP(I2,A:E,5,0))=FALSE,””,VLOOKUP(I2,A:E,5,0))

相關學習推薦:實用excel技巧分享:四種等級評定公式

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享