時光如白駒過隙,不知不覺已經畢業10年了,人生中第一次接觸Excel是在大學裡幫班主任錄入班級同學們的身份證号,由于不知道設置單元格格式,輸入的身份證号顯示的是科學計數法,被這個弄的死去活來,往事不堪回首......
畢業後進入一家公司,這個公司是有自己的ERP系統的,但是還是需要把數據導出來進行匹配,由于導出來的數據基本上都是豎排,所以必須掌握一個列查詢函數,就是VLOOKUP,我已經忘記了我是如何學會的,可能是同事教的,也許是我自己在網上查看資料學習的。後來我發現VLOOKUP這個函數是普及度最廣的,就好像用Excel用戶都會用SUM求和一樣,而且很多人跟我一樣人生中第一個函數都是VLOOKUP。既然這個函數這麼“好用”,那本文就讓我們一起重溫一下這個函數,并且學習VLOOKUP的進階用法。
先來看下這個函數的參數 VLOOKUP(查詢值,查詢區域,返回列數,模糊/精确匹配)
最普遍的用法如下圖所示,A1:B7這個區域是我模拟的數據區域,D2單元格是查詢的序号,需要在E2單元格匹配序号對應的型号。
在E2單元格輸入=VLOOKUP(D2,A:B,2,0) 首先講解一下這4個參數
1、查詢D2單元格的值(D2的值現在是1)
2、在A列到B列這個區域查詢,第二個參數也可以輸入A2:B7,效果是一樣的。還需要注意的是查詢的區域,查詢值的列必須居于首列,現在查詢的值是序号1,序号列必須居于第二參數所選區域的首列。也可以理解為,你隻能查詢序号列右邊的數據。
3、返回對應的列數,這個列數也是基于第二參數所選擇的區域而言,首列數為1,第二列為2,以此類推。
4、最後一個參數如果輸入1就是模糊匹配,輸入0就是精确匹配,在我的日常工作中99%都是輸入0,精确匹配,一個字都不帶差的。
如何突破向右查詢,可以向左查詢現在把序号跟型号列對調,如果跟上一個圖一樣輸入公式,那肯定是匹配不上的,這個時候需要用到IF函數來重構一個數據區域,在E2單元格輸入=VLOOKUP(D2,IF({1,0},B2:B7,A2:A7),2,0)現在的寫法和上面不一樣的地方就是第二個參數,現在來單獨講下這個參數。
我們知道IF函數有3個參數如下圖所示
第一個參數如果成立為TRUE也就是1,則返回第二個參數,如果為FALSE也就是0,則返回第三個參數。如果我們在IF的第一個參數同時輸入1和0會出現什麼效果?我們先在任何單元格輸入=IF({1,0},B2:B7,A2:A7)然後按F9看運算結果,會得到一個數組把它複制出來看看,{1,"A";2,"B";3,"C";4,"D";5,"E";6,"F"}這是一個什麼東西?其實就是把這兩個列又調回來,序号1對應型号A,序号2對應型号B,其實我們還是不能改變VLOOKUP的屬性,我們隻是通過這個方法重構了一個讓VLOOKUP用的“舒服”的參數而已
VLOOKUP的模糊查詢
上面說的都是VLOOKUP的精确查詢,下面就來講下VLOOKUP的模糊查詢用法,請看下圖
這個案例是判斷成績優良中差,判斷的規則寫在F2:G5這個區域,這個判斷可以寫IF來搞定,同樣的也可以通過VLOOKUP的模糊查詢來搞定,但是前提是需要構建一個輔助區域,構建區域每個成績段取最低值。如上圖所示,輔助區域是I2:J5也就是我标注成黃色的區域。
在D2單元格輸入=VLOOKUP(B2,$I$2:$J$5,2,1)然後向下填充,得到的結果和IF返回的結果一緻。
當VLOOKUP第四個參數輸入1時,就會進行模糊匹配,首先會找是否有相同的值,當查詢值在區域内查詢不到時,會找區域中比查詢值小,且最接近查詢值的值,比如第三個李華的成績是87,首先判定在I2:I5這個區域内有沒有等于87的值,顯然是找不到的,那就會找到比87小的,此時比87小的有三個值,分别是80,60,0 最後找到80,為什麼?因為隻有80同時滿足了,比查詢值小,并且最接近查詢值,然後VLOOKUP反回了80對應的“良”
好了VLOOKUP函數就分享到這裡。
關注我,查看更多Excel實用技巧視頻。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!