EXCEL里的VLOOKUP函数怎么用呢?

发布网友 发布时间:2022-04-19 23:36

我来回答

12个回答

热心网友 时间:2022-04-16 23:12

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。

在 VLOOKUP 中的 V 代表垂直。

语法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。

Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。

如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。

通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。

Table_array 的第一列中的数值可以为文本、数字或逻辑值。

文本不区分大小写。

Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。

Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。

说明

如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。
该示例使用 1 个大气压的空气值。

1
2
3
4
5
6
7
8
9
10
A B C
密度 粘度 温度
.457 3.55 500
.525 3.25 400
.616 2.93 300
.675 2.75 250
.746 2.57 200
.835 2.38 150
.946 2.17 100
1.09 1.95 50
1.29 1.71 0
公式 说明(结果)
=VLOOKUP(1,A2:C10,2) 在 A 列中查找 1,并从相同行的 B 列中返回值 (2.17)
=VLOOKUP(1,A2:C10,3,TRUE) 在 A 列中查找 1,并从相同行的 C 列中返回值 (100)
=VLOOKUP(.7,A2:C10,3,FALSE) 在 A 列中查找 0.746。因为 A 列中没有精确地匹配,所以返回了一个错误值 (#N/A)
=VLOOKUP(0.1,A2:C10,2,TRUE) 在 A 列中查找 0.1。因为 0.1 小于 A 列的最小值,所以返回了一个错误值 (#N/A)
=VLOOKUP(2,A2:C10,2,TRUE) 在 A 列中查找 2,并从相同行的 B 列中返回值 (1.71)

热心网友 时间:2022-04-17 00:46

vlookup
全部显示
全部隐藏
在表格数组的首列查找值,并由此返回表格数组当前行中其他列的值。
vlookup
中的
v
表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用
vlookup,而不用
hlookup。
语法
vlookup(lookup_value,table_array,col_index_num,range_lookup)
lookup_value
为需要在表格数组
(数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。lookup_value
可以为数值或引用。若
lookup_value
小于
table_array
第一列中的最小值,vlookup
将返回错误值
#n/a。
table_array
为两列或多列数据。请使用对区域的引用或区域名称。table_array
第一列中的值是由
lookup_value
搜索的值。这些值可以是文本、数字或逻辑值。不区分大小写。
col_index_num

table_array
中待返回的匹配值的列序号。col_index_num

1
时,返回
table_array
第一列中的数值;col_index_num

2,返回
table_array
第二列中的数值,以此类推。如果
col_index_num

小于
1,vlookup
返回错误值
#value!。
大于
table_array
的列数,vlookup
返回错误值
#ref!。
range_lookup
为逻辑值,指定希望
vlookup
查找精确的匹配值还是近似匹配值:
如果为
true
或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于
lookup_value
的最大数值。
table_array
第一列中的值必须以升序排序;否则
vlookup
可能无法返回正确的值。可以选择“数据”菜单上的“排序”命令,再选择“递增”,将这些值按升序排序。有关详细信息,请参阅默认排序次序。
如果为
false,vlookup
将只寻找精确匹配值。在此情况下,table_array
第一列的值不需要排序。如果
table_array
第一列中有两个或多个值与
lookup_value
匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值
#n/a。
说明

table_array
第一列中搜索文本值时,请确保
table_array
第一列中的数据没有前导空格、尾随空格、不一致的直引号('

")、弯引号(‘或“)或非打印字符。在上述情况下,vlookup
可能返回不正确或意外的值。有关用于清除文本数据的函数的详细信息,请参阅文本和数据函数。
在搜索数字或日期值时,请确保
table_array
第一列中的数据未保存为文本值。否则,vlookup
可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值。
如果
range_lookup

false

lookup_value
为文本,则可以在
lookup_value
中使用通配符、问号
(?)
和星号
(*)。问号匹配任意单个字符;星号匹配任意字符序列。如果您要查找实际的问号或星号本身,请在该字符前键入波形符
(~)。
示例
1
本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面
0
摄氏度或
1
个大气压下对空气进行测定的结果。)
1
2
3
4
5
6
7
8
9
10
a
b
c
密度
粘度
温度
0.457
3.55
500
0.525
3.25
400
0.616
2.93
300
0.675
2.75
250
0.746
2.57
200
0.835
2.38
150
0.946
2.17
100
1.09
1.95
50
1.29
1.71
0
公式
说明(结果)
=vlookup(1,a2:c10,2)
使用近似匹配搜索
a
列中的值
1,在
a
列中找到小于等于
1
的最大值
0.946,然后返回同一行中
b
列的值。(2.17)
=vlookup(1,a2:c10,3,true)
使用近似匹配搜索
a
列中的值
1,在
a
列中找到小于等于
1
的最大值
0.946,然后返回同一行中
c
列的值。(100)
=vlookup(.7,a2:c10,3,false)
使用精确匹配在
a
列中搜索值
0.7。因为
a
列中没有精确匹配的值,所以返回一个错误值。(#n/a)
=vlookup(0.1,a2:c10,2,true)
使用近似匹配在
a
列中搜索值
0.1。因为
0.1
小于
a
列中最小的值,所以返回一个错误值。(#n/a)
=vlookup(2,a2:c10,2,true)
使用近似匹配搜索
a
列中的值
2,在
a
列中找到小于等于
2
的最大值
1.29,然后返回同一行中
b
列的值。(1.71)
示例
2
本示例搜索婴幼儿用品表中的“货品
id”列,并在“成本”和“涨幅”列中查找与之匹配的值,以计算价格和测试条件。
1
2
3
4
5
6
a
b
c
d
货品
id
货品
成本
涨幅
st-340
童车
¥145.67
30%
bi-567
围嘴
¥3.56
40%
di-328
尿布
¥21.45
35%
wi-989
柔湿纸巾
¥5.12
40%
as-469
吸出器
¥2.56
45%
公式
说明(结果)
=
vlookup("di-328",
a2:d6,
3,
false)
*
(1
+
vlookup("di-328",
a2:d6,
4,
false))
涨幅加上成本,计算尿布的零售价。(¥28.96)
=
(vlookup("wi-989",
a2:d6,
3,
false)
*
(1
+
vlookup("wi-989",
a2:d6,
4,
false)))
*
(1
-
20%)
零售价减去指定折扣,计算柔湿纸巾的销售价格。(¥5.73)
=
if(vlookup(a2,
a2:d6,
3,
false)
>=
20,
"涨幅为
"
&
100
*
vlookup(a2,
a2:d6,
4,
false)
&"%",
"成本低于
¥20.00")
如果某一货品的成本大于或等于
¥20.00,则显示字符串“涨幅为
nn%”;否则,显示字符串“成本低于
¥20.00”。(涨幅为
30%)
=
if(vlookup(a3,
a2:d6,
3,
false)
>=
20,
"涨幅为:
"
&
100
*
vlookup(a3,
a2:d6,
4,
false)
&"%",
"成本为
¥"
&
vlookup(a3,
a2:d6,
3,
false))
如果某一货品的成本大于或等于
¥20.00,则显示字符串“涨幅为
nn%”;否则,显示字符串“成本为
¥n.nn”。(成本为
¥3.56)
示例
3
本示例搜索员工表的
id
列并查找其他列中的匹配值,以计算年龄并测试错误条件。
1
2
3
4
5
6
7
a
b
c
d
e
id
姓氏
名字
职务
出生日期
1

小明
销售代表
12/8/1968
2

彩瑜
销售部副总
2/19/1952
3

志东
销售代表
8/30/1963
4


销售代表
9/19/1958
5


销售经理
3/4/1955
6

术平
销售代表
7/2/1963
公式
说明(结果)
=int(yearfrac(date(2004,6,30),
vlookup(5,a2:e7,5,
false),
1))
针对
2004
财政年度,查找
id

5
的员工的年龄。使用
yearfrac
函数,以此财政年度的结束日期减去出生日期,然后使用
int
函数将结果以整数形式显示。(49)
=if(isna(vlookup(5,a2:e7,2,false))
=
true,
"未找到员工",
vlookup(5,a2:e7,2,false))
如果有
id

5
的员工,则显示该员工的姓氏;否则,显示消息“未找到员工”。(林)

vlookup
函数返回错误值
#na
时,isna
函数返回值
true。
=if(isna(vlookup(15,a3:e8,2,false))
=
true,
"未找到员工",
vlookup(15,a3:e8,2,false))
如果有
id

15
的员工,则显示该员工的姓氏;否则,显示消息“未找到员工”。(未找到员工)

vlookup
函数返回错误值
#na
时,isna
函数返回值
true。
=vlookup(4,a2:e7,3,false)
&
"
"
&
vlookup(4,a2:e7,2,false)
&
"是"
&
vlookup(4,a2:e7,4,false)
&
"。"
对于
id

4
的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)
注释
上例中的第一个公式使用的是
yearfrac
函数。如果该函数不可用并返回错误
#name?,请安装和加载“分析工具库”加载宏。
操作方法
在“工具”菜单上,单击“加载宏”。
在“可用加载宏”列表中,选中“分析工具库”框,然后单击“确定”。
如有必要,请按照安装程序中的说明操作。

热心网友 时间:2022-04-17 02:38

VLOOKUP
中的
V
表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用
VLOOKUP,而不用
HLOOKUP。希望对您有所帮助
语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value
为需要在表格数组第一列中查找的数值。Lookup_value
可以为数值或引用。若
lookup_value
小于
table_array
第一列中的最小值,VLOOKUP
将返回错误值
#N/A。
Table_array
为两列或多列数据。请使用对区域的引用或区域名称。table_array
第一列中的值是由
lookup_value
搜索的值。这些值可以是文本、数字或逻辑值。不区分大小写。
Col_index_num

table_array
中待返回的匹配值的列序号。Col_index_num

1
时,返回
table_array
第一列中的数值;col_index_num

2,返回
table_array
第二列中的数值,以此类推。如果
col_index_num
:小于
1,VLOOKUP
返回错误值
#VALUE!。大于
table_array
的列数,VLOOKUP
返回错误值
#REF!。
Range_lookup
为逻辑值,指定希望
VLOOKUP
查找精确的匹配值还是近似匹配值:如果为
TRUE
或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于
lookup_value
的最大数值。table_array
第一列中的值必须以升序排序;否则
VLOOKUP
可能无法返回正确的值。可以选择数据菜单上的排序命令,再选择递增,将这些值按升序排序。有关详细信息,请参阅默认排序次序。如果为
FALSE,VLOOKUP
将只寻找精确匹配值。在此情况下,table_array
第一列的值不需要排序。如果
table_array
第一列中有两个或多个值与
lookup_value
匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值
#N/A。
说明

table_array
第一列中搜索文本值时,请确保
table_array
第一列中的数据没有前导空格、尾随空格、不一致的直引号(

)、弯引号(‘或)或非打印字符。在上述情况下,VLOOKUP
可能返回不正确或意外的值。有关用于清除文本数据的函数的详细信息,请参阅文本和数据函数。在搜索数字或日期值时,请确保
table_array
第一列中的数据未保存为文本值。否则,VLOOKUP
可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值。如果
range_lookup

FALSE

lookup_value
为文本,则可以在
lookup_value
中使用通配符、问号
(?)
和星号
(*)。问号匹配任意单个字符;星号匹配任意字符序列。如果您要查找实际的问号或星号本身,请在该字符前键入波形符
(~)。
操作方法
1、创建空白工作簿或工作表。
2、请在帮助主题中选取示例。不要选取行或列标题。
3、按
Ctrl+C。
4、在工作表中,选中单元格
A1,再按
Ctrl+V。
5、若要在查看结果和查看返回结果的公式之间切换,请按
Ctrl+`(重音符),或在工具菜单上,指向公式审核,再单击公式审核模式。

热心网友 时间:2022-04-17 04:46

使用格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

参数说明:Lookup_value代表需要查找的数值;Table_array代表需要在其中查找数据的单元格区域;Col_index_num为在table_array区域中待返回的匹配值的列序号(当Col_index_num为2时,返回table_array第2列中的数值,为3时,返回第3列的值……);Range_lookup为一逻辑值,如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果为FALSE,则返回精确匹配值,如果找不到,则返回错误值#N/A。

热心网友 时间:2022-04-17 07:10

excel中常用的"查找"函数:
VLOOKUP
中的
V
表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用
VLOOKUP,而不用
HLOOKUP。
具体格式:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value
为需要在表格数组
(数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。Lookup_value
可以为数值或引用。若
lookup_value
小于
table_array
第一列中的最小值,VLOOKUP
将返回错误值
#N/A。
Table_array
为两列或多列数据。请使用对区域的引用或区域名称。table_array
第一列中的值是由
lookup_value
搜索的值。这些值可以是文本、数字或逻辑值。不区分大小写。
Col_index_num

table_array
中待返回的匹配值的列序号。Col_index_num

1
时,返回
table_array
第一列中的数值;col_index_num

2,返回
table_array
第二列中的数值,以此类推。如果
col_index_num

小于
1,VLOOKUP
返回错误值
#VALUE!。
大于
table_array
的列数,VLOOKUP
返回错误值
#REF!。
Range_lookup
为逻辑值,指定希望
VLOOKUP
查找精确的匹配值还是近似匹配值:
如果为
TRUE
或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于
lookup_value
的最大数值。
table_array
第一列中的值必须以升序排序;否则
VLOOKUP
可能无法返回正确的值。可以选择“数据”菜单上的“排序”命令,再选择“递增”,将这些值按升序排序。有关详细信息,请参阅默认排序次序。
如果为
FALSE,VLOOKUP
将只寻找精确匹配值。在此情况下,table_array
第一列的值不需要排序。如果
table_array
第一列中有两个或多个值与
lookup_value
匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值
#N/A。

热心网友 时间:2022-04-17 09:52

Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value
可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。col_index_num为table_array
中查找数据的数据列序号。col_index_num

1
时,返回
table_array
第一列的数值,col_index_num

2
时,返回
table_array
第二列的数值,以此类推。如果
col_index_num
小于1,函数
VLOOKUP
返回错误值
#VALUE!;如果
col_index_num
大于
table_array
的列数,函数
VLOOKUP
返回错误值#REF!。Range_lookup为一逻辑值,指明函数
VLOOKUP
查找时是精确匹配,还是近似匹配。如果为false或0
,则返回精确匹配,如果找不到,则返回错误值
#N/A。如果
range_lookup
为TRUE或1,函数
VLOOKUP
将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于
lookup_value
的最大数值。如果range_lookup
省略,则默认为近似匹配。例:我们要在A2:F12区域中提取工号为101、103、105、107、108五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP函数:首先在I4单元格输入“=Vlookup(”,此时Excel就会提示4个参数。Vlookup结果演示第一个参数,显然,我们要让103对应的是H4,这里就输入“H4,”
;第二个参数,这里输入我们要查找的区域(绝对引用),即“$A$2:$F$12,”;第三个参数,“全年总计”是区域的第六列,所以这里输入“6”;第四个参数,因为我们要精确查找工号,所以输入“FALSE"或者“0”。最后补全最后的右括号“)”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6,0)”,使用填充柄填充其他单元格即可完成查找操作。

热心网友 时间:2022-04-17 12:50

开个例子给你看看吧:
事先要准备一张表假设为sheet1,A列为商品,B列为单价,C列为总价
再假设你要输商品名称的表为sheet2,在A列手动输入商品名称
那么,在B列输入:=vookup(A1,sheet1!$A:$C,2)
在C列输入:=vookup(A1,sheet1!$A:$C,3)

热心网友 时间:2022-04-17 16:04

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value
为需要在表格数组第一列中查找的数值。
Lookup_value
可以为数值或引用。若
lookup_value
小于
table_array
第一列中的最小值,VLOOKUP
将返回错误值
#N/A。
Table_array
为两列或多列数据。请使用对区域的引用或区域名称。table_array
第一列中的值是由
lookup_value
搜索的值。这些值可以是文本、数字或逻辑值。不区分大小写。
Col_index_num

table_array
中待返回的匹配值的列序号。Col_index_num

1
时,返回
table_array
第一列中的数值;col_index_num

2,返回
table_array
第二列中的数值,以此类推。如果
col_index_num

•小于
1,VLOOKUP
返回错误值
#VALUE!。
•大于
table_array
的列数,VLOOKUP
返回错误值
#REF!。

热心网友 时间:2022-04-17 19:36

1、在第一个员工对应的单元格中输入“=VLOOKUP(”
2、用鼠标选中员工姓名所在单元格后输入英文“,”
如“=VLOOKUP(C4,”
3、用鼠标选中超产数据范围后输入英文“,”
如“=VLOOKUP(C4,Sheet3!A1:B12,”
4、把单元格引用改为绝对引用,“=VLOOKUP(C4,Sheet3!$A$1:$B$12,”
5、继续输入要返回的员工奖金所在列(相对于引用范围的列数不是表中的真实列数)如,“=VLOOKUP(C4,Sheet3!$A$1:$B$12,2)”
6、加上另一半括号后,回车。
7、选中刚才那个单元格,用“填充柄”向下自动填充。

热心网友 时间:2022-04-17 23:24

这是电子表格里的“查找引用”函数。在目标单元格输入:=vlooku(“源数据单元格”,“查找范围区域”,“目标数据所在单元格位于‘查找范围区域’的列数”,“精确匹配”)

热心网友 时间:2022-04-18 03:28

列数据查询填充函数
用法:=VLOOKUP(查询目标,查找区域,查找的列号,查找的方式1或0)
有问题再
HI
联系

热心网友 时间:2022-04-18 07:50

Vlookup(需要查找的单元格,查找内容对象群,找到后返回对应第几列的数值,false)
比如从A列中查找数值An
A1
B1
C1
A2
B2
C2
vlookup(An,A:C,3,false)查到则返回Cn值,查不到则返回错误值。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com