vlookup函数的使用方法及实例
发布时间:2025-05-19 17:26:15 发布人:远客网络
一、vlookup函数的使用方法及实例
vlookup函数的使用方法及实例如下:
VLOOKUP函数应用于单条件顺向查找,如图1所示,根据姓名查找员工对应的工资,其公式为:=VLOOKUP(H2,A1:F8,6,)或=VLOOKUP(H2,A1:F8,6,FALSE)或=VLOOKUP(H2,A1:F8,6,0)。第四参数省略时,逗号不可省略,否则会出错,0和FALSE都表示精确匹配。
VLOOKUP函数不能直接应用于反向查找,需要借助于IF函数。如图2所示,根据薪资查询对应的员工姓名,其公式为:=VLOOKUP(H2,IF({1,0},F1:F8,A1:A8),2,0)。
VLOOKUP函数应用于多条件查找,需要配合IF函数,当然也可以用过添加辅助列的形式。如图3所示,根据“李四”和“女”这两个条件查找对应的薪资,其公式为:=VLOOKUP(H2&I2,IF({1,0},A1:A8&C1:C8,F1:F8),2,0),然后按下数组三键Ctrl+Shift+Enter。
所谓的一对多查询,就是通过查找1个值来返回多个结果,vlookup想要实现一对多查询,最简单的方法就是构建一个辅助列。在这里我们想要通过查找市场部,来返回所有的姓名
VLOOKUP函数多条件反向查询,同样要借用IF函数构建顺向的多条件区域,如图4所示,其公式为:=VLOOKUP(H2&I2,IF({1,0},F1:F8&C1:C8,A1:A8),2,0),然后按下数组三键Ctrl+Shift+Enter。
根据简称查找目标数据,需要结合通配符,星号表示匹配任意多个字符,根据“葛亮”查询对应的薪资,如图5所示,其公式为:=VLOOKUP(“*”&H2,A1:F8,6,0),根据“葛”查询对应的薪资,其公式为:=VLOOKUP(“*”&H5&“*”A1:F8,6,0)。
二、VLOOKUP函数什么意思,怎么应用
1、Microsoft Excel中 VLOOKUP函数是预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时。
2、工具原料:电脑+Microsoft Excel
3、VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
4、VLOOKUP函数语法具有下列参数(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
5、lookup_value必需。要在表格或区域的第一列中搜索的值。lookup_value参数可以是值或引用。如果为 lookup_value参数提供的值小于 table_array参数第一列中的最小值,则 VLOOKUP将返回错误值#N/A。
6、table_array必需。包含数据的单元格区域。可以使用对区域(例如,A2:D8)或区域名称的引用。table_array第一列中的值是由 lookup_value搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。
7、col_index_num必需。table_array参数中必须返回的匹配值的列号。col_index_num参数为 1时,返回 table_array第一列中的值;col_index_num为 2时,返回 table_array第二列中的值,依此类推。
8、小于 1,则 VLOOKUP返回错误值#VALUE!。
9、大于 table_array的列数,则 VLOOKUP返回错误值#REF!。
10、range_lookup可选。一个逻辑值,指定希望 VLOOKUP查找精确匹配值还是近似匹配值:
11、如果 range_lookup为 TRUE或被省略,则返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于 lookup_value的最大值。
12、要点如果 range_lookup为 TRUE或被省略,则必须按升序排列 table_array第一列中的值;否则,VLOOKUP可能无法返回正确的值。
13、如果 range_lookup为 FALSE,则不需要对 table_array第一列中的值进行排序。
14、如果 range_lookup参数为 FALSE,VLOOKUP将只查找精确匹配值。如果 table_array的第一列中有两个或更多值与 lookup_value匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值#N/A。
15、在 table_array的第一列中搜索文本值时,请确保 table_array第一列中的数据不包含前导空格、尾部空格、非打印字符或者未使用不一致的直引号('或")与弯引号(‘或“)。否则,VLOOKUP可能返回不正确或意外的值。
16、有关详细信息,请参阅 CLEAN函数和 TRIM函数。
17、在搜索数字或日期值时,请确保 table_array第一列中的数据未存储为文本值。否则,VLOOKUP可能返回不正确或意外的值。
18、如果 range_lookup为 FALSE且 lookup_value为文本,则可以在 lookup_value中使用通配符-问号(?)和星号(*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在字符前键入波形符(~)。
三、excel的vlookup函数怎么使用
excel的vlookup函数使用方法如下:
输入公式:=VLOOKUP(G2,A:C,3,0)。
A:C:查找区域,注意查找区域的首列要包含查找的内容。
3:要返回的结果在查找区域的第3列。
输入公式:=VLOOKUP(B2,E:F,2,1)。
E:F:查找区域,注意查找区域的首列要包含查找的内容。
2:要返回的结果在查找区域的第2列。
注意查找区域中的首列内容必须以升序排序。
输入公式:=VLOOKUP(D2,A:B,2,0)。
A:B:查找区域,注意查找区域的首列要包含查找的内容。
2:要返回的结果在查找区域的第2列。
这都没错啊,为什么结果会返回错误值#N/A呢?
细看之下你就会发现格式不一致。
查找值数值型(D2单元格内容4是数值型)。
查找区域文本型(A列的数据是文本型)。
一是可以利用分列功能将A列分列成常规,与D2单元格格式一致。
二是可以将D2单元格内容设成文本格式,与A列格式一致。
公式:=VLOOKUP(D2&;"",A:B,2,0)。
将查找值连接空(&;"")变为文本。
接下来顺便说下另一种格式不一致问题:
查找值文本型,查找区域数值型。
查找值文本型(D2单元格内容4是文本型)。
查找区域数值型(A列的数据是数值型)。
输入公式:=VLOOKUP(D2^1,A:B,2,0)。
^1是将查找值转换成和查找区域一致的格式。
转换方法多种:--、+0、-0、*1、/1等等。
输入公式:=VLOOKUP("*"&;D2&;"*",A:B,2,0)。
公式没有错,结果为什么会返回错误值#N/A呢?
输入公式:=VLOOKUP(SUBSTITUTE(G2,"~","~~"),A:C,3,0)。
在查找包含通配符其本身内容时,需在通配符前键入“~”。
用函数SUBSTITUTE将“~”替换成“~~”。
输入公式:=VLOOKUP(9E+307,A$2:A2,1,1)。
9E+307是科学记数,表示9*10^307,是Excel允许键入的最大数值。
输入公式:=VLOOKUP(座,E$2:E2,1,1)。
根据物料名称查找对应第一次价格:
输入公式:=VLOOKUP(F2,B:D,3,0)。
当查找区域首列出现有两个或更多值与查找值匹配时,函数VLOOKUP返回第一次出现的对应值。
输入公式:=VLOOKUP(A12,A2:G8,MATCH(B12,A1:G1,0),0)。
MATCH(B12,A1:G1,0)部分找到B12单元格内容“华北地区”在区域A1:G1中的位置5,把它作为VLOOKUP函数的第3参数。
公式就是:=VLOOKUP(A12,A2:G8,5,0)。
返回值在区域A2:G8中的第5列,即E列。
函数VLOOKUP可以借助IF{1,0}与IF{0,1}、CHOOSE{1,2}与CHOOSE{2,1}等等结构将逆序转换为顺序,从而实现查找。
输入公式:=VLOOKUP(D2,IF({1,0},B2:B11,A2:A11),2,0)。
IF({1,0},B2:B11,A2:A11)部分。
当为0时条件不成立返回A2:A11。
可以将IF({1,0},B2:B11,A2:A11)部分抹黑按F9键查看。
就是两列顺序对换,将逆序转换为顺序。
输入公式:=VLOOKUP(D2,IF({0,1},A2:A11,B2:B11),2,0)。
函数VLOOKUP+CHOOSE{1,2}结构:
输入公式:=VLOOKUP(D2,CHOOSE({1,2},B2:B11,A2:A11),2,0)。
函数CHOOSE:根据给定的索引值,从参数串中选出相应值或操作。
CHOOSE(index_num,value1, value2)。
如果第一参数为1,则CHOOSE返回value1;如果第一参数为2,则CHOOSE返回value2。
CHOOSE({1,2},B2:B11,A2:A11)部分。
函数VLOOKUP+CHOOSE{2,1}结构:
输入公式:=VLOOKUP(D2,CHOOSE({2,1},A2:A11,B2:B11),2,0)。
CHOOSE({2,1},A2:A11,B2:B11)部分。
当第一参数为2时,则CHOOSE返回对应B2:B11中的值。
当第一参数为1时,则CHOOSE返回对应A2:A11中的值。
把CHOOSE({2,1},A2:A11,B2:B11)部分抹黑按F9键查看。
AB两列顺序对换,将逆序转换为顺序,再用函数VLOOKUP查找。
输入公式:=VLOOKUP($F2,$A:$D,COLUMN(B1),0),右拉填充。
公式右拉返回结果在第2、3、4列。
COLUMN(B1)=2,公式右拉变成COLUMN(C1)、COLUMN(D1)得到3、4。
输入公式:=IFERROR(VLOOKUP(ROW(A1),IF({1,0},SUMIF(OFFSET(B$2,ROW($1:$4)),<;>;),A$2:A$5),2,0),E2)&。
按<;Ctrl+Shift+Enter>;三键结束。
A列区域为合并单元格,根据业务员查找对应的区域:
输入公式:=VLOOKUP(座,OFFSET(A2,MATCH(D2,B2:B14,0)),1,1)。
MATCH(D2,B2:B14,0)部分找到业务员阿文在区域B2:B14中的位置11。
OFFSET(基点,偏移行数,偏移列数,行高,列宽)。
OFFSET(A2,11)是以A2单元格为基点,偏移0行0列,返回行高为11的新区域A2:A12的引用。
A列产品为合并单元格,如何查找A列产品对应的单价呢?
输入公式:=VLOOKUP(VLOOKUP(座,A$2:A2,1,1),F:G,2,0)。
比如D5单元格公式=VLOOKUP(VLOOKUP(座,A$2:A5,1,1),F:G,2,0)。
A$2:A5部分返回{产品1;产品3;0;0}。
即D5单元格公式就是=VLOOKUP(产品3,F:G,2,0),返回单价12。
输入公式:=SUM(VLOOKUP(T(IF({1},A2:A8)),D2:E8,2,0)*B2:B8)。
数组公式,按<;Ctrl+Shift+Enter>;三键结束。
IF({1},A2:A8)部分构成三维内存数组。
VLOOKUP函数第一参数不能直接为数组。
函数T起降维作用,将三维引用转换为一维数组,其返回的结果仍为数组,用函数SUM求和。
与反向查找一样,可以借助IF{1,0}与IF{0,1}、CHOOSE{1,2}与CHOOSE{2,1}等结构。
输入公式:=VLOOKUP(E2&;F2,IF({1,0},A2:A11&;B2:B11,C2:C11),2,0)。
数组公式,按<;Ctrl+Shift+Enter>;三键结束。