在先前的文章《實用Excel技巧分享:四種等級評定公式》中,我們了解了四種等級評定公式的寫法。而今天我們來聊聊Vlookup,看看怎麼消除Vlookup的“BUG”,讓空返為空,一起來看看吧!
今天某學員興高采烈地跟我說發現vlookup存在一個重大的BUG。我聽完一愣,這不應該吧?
聽完這位學員詳細敘述,我終於明白了。她所說的「BUG」是指Vlookup函數在運算過程中如果第三個參數回傳值所在單元格為空,函數傳回的結果不是空而是0。如下表所示,學員依員工工號找出對應扣除薪資明細,來源表中9003工號對應的E4儲存格為空時,右側表中輸出的結果為0,而非空。
學員表示這種情況可能會導致數據統計錯誤,帶來很大的麻煩。那麼如何才能使空白儲存格就傳回一個空白儲存格呢?
這個問題很簡單,我們只需要對原vlookup函數公式運算結果進行判斷,如果運算結果為0,就傳回空值,如果運算結果不為零,就傳回運算的結果。
首先給大家看看採用新的函數公式後的結果:
#我們透過函數公式:=IF(ISNUMBER(VLOOKUP(I2,A :E,5,0))=FALSE,"",VLOOKUP(I2,A:E,5,0))就完成了「空對空」。
學員看完公式表示很懵,這麼多括號怎麼可以理清邏輯關係呢?況且還有個從來沒用過的ISNUMBER函數!
當我們遇到很長的函數時不要害怕,只要按步拆解就能弄清楚。
下面我們就為這位學員拆解函數公式。
拆解第一步:
VLOOKUP(I2,A:E,5,0)此部分函數公式相信經常看我們excel教學文章的朋友都比較熟悉,其意義是返回I2單元格在A列所在的行數對應第5列單元格內容。 “千字不如一圖”,用一張圖片大家就會一目了然。
注意:1、vlookup常規的用法是查找值必須在選擇的區域首列。 2.第三個參數列號不能小於1,不能大於所選單元格區域總的列數值。如選取A:E區域後,區域裡總共只有5列,如果輸入6,那麼就會回傳儲存格引用錯誤訊息「#REF」。
拆解第二步驟:
ISNUMBER(VLOOKUP(I2,A:E,5,0)這部分函數公式看起來陌生,其實比第一步理解起來更加容易。只是在前面增加了一個ISNUMBER函數,我們只要弄清楚這個函數就簡單了。
ISNUMBER函數可以拆解為IS NUMBER,這樣拆解開大家應該都會明白,其實就是“是否為數值”,他的功能就是判斷一個單元格是否為數值。
下面我做個簡單的演示給大家看下:
我們可以看到上面的範例中E6單元格為空白,ISNUMBER判斷結果為FALSE。文章開頭所描述的「9003工號對應的E4單元格為空」也是如此, ISNUMBER( VLOOKUP(I2,A:E,5,0)把9003工號的扣除工資判斷為FALSE。
拆解第三步:
以上是實用Excel技巧分享:消除Vlookup的'BUG”的詳細內容。更多資訊請關注PHP中文網其他相關文章!