Excel函數中發難的VLookup

查找替換,這個功能上至廣場舞大媽下至漢字還認不齊全的小盆友都會,可其實Office里的查找替換,水很深啊!

相比之下,Word的查找功能是最強大的,因為可以用正則表達式,那系不系意味著Excel要居於其後了呢?其實也不一定,不要忘了,Excel里還有個叫函數的同學!

 

單條件正向(從左往右)精確查找函數Vlookup,轉來轉去就四個參數,其中一個False還是固定的,所以應該沒有任何難度,但在現實中,Vlookup常常會「發難」,原因是……很多滴!

發難原因一:查找值不存在於查找區域最左列

上圖中查找值是30,查找範圍是A1:C5,您哪隻眼看到A列中有30了,Vlookup在此當然要發難了!

 

發難原因二:列數參數大於查找範圍的列數

看看,查找範圍是A1:C5,雖說這次查找值C在A列是存在了,但第三個參數5?伸出手指數數吧,A1:C5,才三列啊,這分明是在向Vlookup發難,還能怪公式結果不正確嗎?

 

發難原因三:格式不一致

這個……看上去沒什麼問題了吧,查找20在B2:C5這個範圍內對應第二列的值,可Vlookup還是發難了!原來此「20」非彼「20」,查找值「20」是數值,而B3單元格里的「20」是個文本型數字,Vlookup相當挑剔,稍有不同都會發難,這是必須非常小心的,惹惱了他麻煩事可就跟著來了……

 

除了當場給臉色看的發難以外,Vlookup還有時會偷偷發難,也就是說,表面上給的結果是正確的,其實公式骨子裡是錯誤的。比如發難原因四:沒給賄賂……

「任督二脈」尚未打通就開始修鍊Vlookup的同學經常會遭遇這樣的,F2的公式是正確的,結果也是正確的,但從F3開始……F3還算給面子,至少結果對了,其實公式是錯誤的,F4和F5那就更不用提了。解決的方法很簡單,給點銀子賄賂一下就好了,讓公式下拉的時候,A2單元格永遠「走不動路」:

=VLookup(E2,A$1:C5,3,)

或者乾脆整列引用,這樣寫既避免了錯誤,還省字元:

=VLookup(E2,A:C,3,)

 

於是又出了個新的問題,有人直接這樣寫:

看上去這結果是正確的,其實呢……只是碰巧遇上了【數組的絕對交集】,而當Vlookup第一個參數為單元格區域或數組時,其結果是一個偽內存數組,根本無法進行下一步計算……咳咳……有點扯遠了,肥來肥來,總之就是一句話:公式寫成這樣沒意義。

Vlookup可以進行單條件正向(從左往右)精確查找,但他不是唯一的,他只是Lookup家族成員中的一員……

 

PS,請大家幫忙看看,下圖中的VLookup為嘛嘛要發難:


謝謝轉發支持


推薦閱讀:

Excel函數的參數

TAG:函數 | Excel | Excel函數 | Look |