一、功能及語法結構。
功能:根據指定的查詢條件和區域,返回指定列的值。
語法結構:=Vlookup(查詢值,數據范圍,返回值的相對列數,匹配模式)。
解讀:
1、“查詢值”即查詢條件。
2、“數據范圍”指包括查詢值和返回值的一個相對數據范圍,最少包括2列,而且“數據范圍”的第一列必須是“查詢值”所在的列。
3、“返回值的相對列數”是根據“數據范圍”的情況而決定的,並不是根據數據表的情況而決定的。
4、“匹配模式”分為“0”和“1”兩種,“0”為精准匹配,即100%相同;“1”為模糊匹配,即包含或等於“查詢值”均可。
二、Vlookup函數用法解讀。
1、根據“姓名”查詢對應的“月薪”(從左到右順序查詢)。
方法:
在目標單元格中輸入公式:=VLOOKUP(K2,C2:H11,6,0)。
解讀:
1、公式中K3單元格的值為“查詢值”,C3:H12為“數據范圍”,而且此范圍的第一列(即C列)必須包含了K3單元格的值;因為返回值為“月薪”,而在數據范圍C3:H12中“月薪”位於第6列,所以Vlookup函數的第三個參數為6;“0”就是精准查詢,100%匹配。
2、此方法也是Vlookup函數最常用、最簡單的用法,是Vlookup函數的基礎用法。
2、根據“姓名”查詢對應的“工號”(從右向左逆向查詢)。
方法:
在目標單元格中輸入公式:=VLOOKUP(K2,IF({1,0},C2:C11,B2:B11),2,0)。
解讀:
1、此用法為Vlookup函數的特殊用法,逆向查詢。
2、公式的參數從總體上還是分為4個部分,“數據范圍”部分為:IF({1,0},C2:C11,B2:B11),其目的就是重組組成新的數據查詢范圍,使查詢值在左,返回值在右。
3、根據“姓名”、“性別”查詢對應的“月薪”(從左向右逆向查詢)。
方法:
1、在“備注”列中用&符號合並“姓名”和“性別”,公式為:=C2&D2。
2、在目標單元格中輸入公式:=VLOOKUP(K5&L5,IF({1,0},I2:I11,H2:H11),2,0)。
解讀:
其本質為從右向左的逆向查詢。
4、根據“姓名”、“性別”查詢對應的“工號”(從右向左逆向查詢)。
方法:
1、在“備注”列中用&符號合並“姓名”和“性別”,公式為:=C2&D2。
2、在目標單元格中輸入公式:=VLOOKUP(K8&L8,IF({1,0},I2:I11,B2:B11),2,0)。
解讀:
本質為從右向左的逆向查詢。
5、批量查詢(+Column)。
目的:根據“工號”查詢對應的“姓名”、“性別”、“學歷”等信息。
方法:
在目標單元格中輸入公式:
=VLOOKUP($K$2,$B$2:$I$11,COLUMN(B1),0)
解讀:
1、參數查詢值K3、數據范圍B2:H11為什么絕對引用?
答:在相對引用情況下,當用鼠標拖動從左向右填充時,其公式中的單元格(數據范圍)地址也會相對改變,而在此例中,無論范圍那一列的值,其查詢值和數據范圍都是固定不變,所以采用絕對引用的方式。
(采用絕對引用的方式是為了大家更好地理解,其實也可以采用混合引用的形式,=VLOOKUP($K3,$B3:$H12,COLUMN(B1),0)
)
2、參數“返回值的相對列數”:Column(B1),其作用就是動態返回對應值的相對列數。首先要理解Column函數的作用(返回指定單元格地址的列數),從A列開始依次為1、2、3……;在數據范圍B2:H11中,“姓名”在第2列,所以Column函數的參數為B1(或B2等,只要是B列即可),而“性別”在第3列,當用公式查詢完“姓名”后,拖動填充式,Column函數的參數也會發生變化(C1,依次為D1、E1、……),因為此處必須采用相對引用。
6、精准查詢(+Match)。
目的:根據“姓名”和“季度”查詢對應的“銷售額”。
方法:
在目標單元格中輸入公式:=VLOOKUP(K2,C2:H11,MATCH(L2,C1:H1,0),0)
解讀:
1、Match函數的作用為:返回指定值在指定范圍中的相對位置,語法結構為:=Match(定位值,定位范圍,[匹配模式]),其中“匹配模式”分為-1、0、1三種,分別為:“大於”、“精准”、“小於”。
2、公式中用Match函數定位出季度的相對列數,並作為Vlookup的第三個參數,從而達到精准查詢的目的。
7、隱藏錯誤值得查詢!
此處的“錯誤值”並不是真正意義上的錯誤值,而是指在公式正確的情況下,部分查詢值沒有對應的返回值,返回#N/A 的情況,可以借用Iferror函數巧妙的隱藏錯誤代碼或者返回指定的值。
目的:根據員工“姓名”查詢對應的“月薪”,如果未能查詢到員工信息,返回“未查詢到此員工,請確認!”。
方法:
在目標單元格中輸入公式:=IFERROR(VLOOKUP(K2,C2:H11,6,0),"未查詢到此員工,請確認")。
解讀:
1、Iferror函數的作用為:檢測指定的表達式是否存在錯誤,如果存在錯誤,則返回指定的值,否則返回表達式的執行結果;語法結構為:=Iferror(表達式,表達式存在錯誤時的返回值)。
2、公式在查詢”蔡文姬“時,未能在指定的數據范圍中查詢到此信息,所以返回#N/A, 並將此結果返回Iferror函數,經過Iferror函數執行后,返回“未查詢到此員工,請確認!”。
8、制作工資條。
工資條大家並不陌生,但是如何根據工資表制作工資條呢?
方法:
1、在工資表的最左側插入一列,命名為序號或No,並進行填充(如果已經有此列,則可以省略此步驟)。
2、根據序號查詢對應的其它列信息,在目標單元格中輸入公式:=VLOOKUP($K2,$A$2:$H$11,COLUMN(B1),0)
。
3、選定標題行以及查詢的數據行,拖動右下角的填充柄向下填充即可。
解讀:
1、公式中的第一個參數查詢值的引用方式為混合引用,$K2
,而不能是絕對引用($k$2)
或相對引用(K2),原因是列不變,行要變。
2、利用填充柄填充時根據需要可以隔行,也可以不隔行。
9、批量查詢並求和(+Sum)。
目的:根據“姓名”查詢全年的銷售額。
方法:
在目標單元格中輸入公式:=SUM(VLOOKUP(K2,C2:H11,{3,4,5,6},0))並用Ctrl+Shift+Enter填充。
解讀:
公式中返回值的相對列數為{3,4,5,6}並配合組合快捷鍵Ctrl+Shift+Enter就是依次查詢指定范圍中第3、4、5、6列的值並返回,最后用Sum函數求和。