在Excel中,有一類函數被稱為查找和引用函數,今天,小編給大家分享6個查詢函數(Choose、Lookup、Hlookup、Vlookup、Match、Index)的應用技巧,可以收藏備用哦!
一、Choose。
功能:根據序號從列表中選擇對應的內容。
語法結構:=Choose(序列號,值1,[值2]……[值254])。
注意事項:
1、參數「序列號」如果小於1或者大於列表中的最後一個值的序號,Choose函數將返回錯誤值「#VALUE!」。
2、參數「序列號」的值為1時,返回「值1」,「序列號」的值為2時,返回「值2」……以此類推。
3、參數「序列號」如果為小數,則在使用前將被截尾取整。
4、參數「值X」可以是數字、文本、引用、名稱、公式或者函數。
目的:評定員工的業績,如果≤1000,則為「一般」,如果≥3500,則為「優秀」,中間部分為「良好」。
方法:在目標單元格中輸入公式:=CHOOSE(IF(G3<1000,1,IF(G3>3500,3,2)),"一般","良好","優秀")。
解讀:公式中,IF函數的作用為根據G3單元格的值返回對應的序號1、2、3,並作為Choose函數的「序列號」,根據序列號返回「一般」、「良好」、「優秀」。
二、Lookup。
功能:返回指定的行或列中特定位置上的值。
Lookup有向量和數組兩種應用形式。
(一)向量形式。
語法結構:=Lookup(查詢值,查詢值所在的區域或數組,[返回值所在的區域或數組])。
注意事項:
1、參數「查詢值」,如果在「查詢值所在的區域或數組」中找不到改制,則返回由小於等於查詢值的最大值對應的結果。
2、為了能夠得到正確的查詢結果,「查詢值所在的區域或數組」在查詢開始前必須按照【升序】排列,規則為:數字<字母<FALSE<TRUE。
3、「查詢值」、「返回值」所在的區域和數組必須是同方向的,即如果查詢區域為行方向,則返回結果的區域就不能是列方向上的。
4、當「查詢值所在的區域或數組」和「返回值所在的區域或數組」相同時,可以省略「返回值所在的區域或數組」。
目的:查詢「員工」的「銷售額」。
方法:1、以「員工姓名」為主要關鍵字對數據源進行升序排序。
2、在目標單元格中輸入公式:=LOOKUP(J3,B3:B12,G3:G12)。
解讀:在使用Lookup函數查詢數據時,前提條件是對「查詢值所在的區域或數組」進行【升序】排序,否則無法得到正確的結果。
(二)數組形式。
語法結構:=Lookup(查詢值,數據區域)。
注意事項:
1、參數「數據區域」必須包含「查詢值」和「返回值」,且「查詢值」為第一列(行),「返回值」為末尾列(行)。
2、查詢前,必須對「數據區域」中的值以「查詢值」所在的列為主要關鍵字進行升序排序,規則為:數字<字母<FALSE<TRUE。
目的:查詢「員工」的「銷售額」。
方法:1、以「員工姓名」為主要關鍵字對數據源進行升序排序。
2、在目標單元格中輸入公式:=LOOKUP(J3,B3:G12)。
(三)經典用法。
目的:查詢「員工」的「銷售額」。
方法:在目標單元格中輸入公式:=LOOKUP(1,0/(B3:B12=J3),G3:G12)。
解讀:使用此方法時,無需對數據源進行升序排序,其本質仍然為向量形式。
三、Hlookup。
功能:在區域或數組的首行查找數據,返回與指定值同列的該區域或數組中的其行的值。
語法結構:=Hlookup(查詢值,數據區域,返回值的相對行數,[匹配類型])。
注意事項:
1、「數據區域」必須包含列標題。
2、參數「匹配類型」分為兩種,TRUE或省略為模糊查詢,FALSE為精準查詢。
3、模糊查詢時,返回≤「查詢值」的最大值,且「查詢區域」必須按升序排序;精準查詢時,返回等於「查詢區域」中第一個與「查詢值」相等的值,「查詢區域」無需排序。
目的:查詢「員工」的「銷售額」。
方法:在目標單元格中輸入公式:=HLOKUP(J3,B2:G12,MATCH(K2,B2:B12,0),0)。
解讀:Match函數的作用和用法請查閱本文後續內容。
四、Vlookup。
功能:在區域或數組的首列查找指定的值,返回與指定值同行的該區域或數組中其他列的值。
語法結構:=Vlookup(查詢值,數據區域,返回值所在的列數,[匹配類型])。
注意事項:
1、參數「匹配類型」分為兩種,TRUE或省略為模糊查詢,FALSE為精準查詢。
2、模糊查詢時,返回≤「查詢值」的最大值,且「查詢區域」必須按升序排序;精準查詢時,返回等於「查詢區域」中第一個與「查詢值」相等的值,「查詢區域」無需排序。
目的:查詢「員工」的「銷售額」。
方法:在目標單元格中輸入公式:=VLOOKUP(J3,B3:G12,6,0)。
解讀:參數「6」代表的是返回值「銷售額」在範圍B3:G12中的相對列數。
五、Match。
功能:返回在指定方式(精準查詢或模糊查詢)下要查找的值在區域或數組中的位置。
語法結構:=Match(查詢值,數據區域,[匹配類型])。
注意事項:
1、參數「匹配類型」分為3種,「1或省略」,模糊查詢,返回小於等於「查詢值」的最大值的位置,「數據區域」必須按【升序】排序;「0」為精準查詢,返回數據區域中的第一個與「查詢值」相等位置的值,「數據區域」無需排序;「-1」為模糊查詢,返回大於等於「查詢值」的最小值的位置,「數據區域」必須按降序排序。
2、如果參數為文本,Match函數將不區分大小寫字母,如果要嚴格匹配「查詢值」,則需要使用Exact函數。
目的:返回「銷售員」在指定範圍中的相對位置。
方法:在目標單元格中輸入公式:=MATCH(J3,B3:B12,0)。
解讀:「數據區域」不同,相對位置也不同。
六、Index。
功能:返回單元格區域或數組中行列交叉位置上的值。
語法結構:=Index(數據範圍,行數,[列數])。
注意事項:
1、參數「行數」和「列數」只能省略其一,不能同時省略。
2、參數「行數」、「列數」表示的引用必須位於「數據範圍」內,否則Index函數將返回錯誤值「#REF!」 。
目的:查詢「員工」的「銷售額」。
方法:在目標單元格中輸入公式:=INDEX(G3:G12,MATCH(J3,B3:B12,0))。
解讀:用Match函數定位員工姓名在對應列中的相對位置,並作為Index函數的參數,返回該位置上的銷售額。