乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何在一个excel表格中查找与另一个表格对应的数据-excel跨表vlookup,vlookup无法跨表选取

如何在一个excel表格中查找与另一个表格对应的数据-excel跨表vlookup,vlookup无法跨表选取

作者:乔山办公网日期:

返回目录: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。

注解

在 table_array 第一列中搜索文本值时,请确保 table_array 第一列中的数据没有前导空格、尾部空格、直引号(' 或
")与弯引号(‘或“)不一致或非打印字符。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅 CLEAN 和 TRIM。
在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP
可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值。
如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 (?)
和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。

示例 1

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

如何复制示例

创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释 请不要选择行或列标题。

从帮助中选择示例

按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。

本示例搜索大气特征表的“密度”列以查找“粘度”和“温度”列中对应的值。(该值是在海平面 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

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

如何复制示例

创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释 请不要选择行或列标题。

从帮助中选择示例

按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。

本示例搜索婴幼儿用品表中“货品 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

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

如何复制示例

创建一个空白工作簿或工作表。
在帮助主题中选择示例。
注释 请不要选择行或列标题。

从帮助中选择示例

按 Ctrl+C。
在工作表中,选择单元格 A1,然后按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“公式”选项卡的“公式审核”组中,单击“显示公式”按钮。

本示例搜索员工表e79fa5e98193e4b893e5b19e333的 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
的员工,将三个单元格的值连接为一个完整的句子。(潘金是销售代表。)

在一个excel表格中查找与另一个表格对应的数据,我们需要用到VLOOKUP函数。VLOOKUP函数是Excel中的一个纵向查找函数,VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值,下面我们分步来介绍一下VLOOKUP函数的用法:

1、首先我们需要先打开一个excel表,需要在另一个表中匹配出相应同学的班级信息。

2、然后当我们把光标定位在需要展示数据的单元格中,如下图红色方框。

3、接着,我们在单元格中输入“=vl”,这时候会自动提示出VLOOKUP函数,双击蓝色的函数部分。

4、现在我们可以看到,单元格中显示出了一个完整的VLOOKUP函数。

5、此时我们选择第一列中需要匹配数据的单元格,只需要选中一个就可以,636f7079e79fa5e98193339然后我们需要输入英文状态下的逗号“,”。

6、输入逗号后,我们再返回到第二张表【表2】,用鼠标选中全部的数据。

7、因为我们要返回的是【表2】中第四列的班级信息,所以在公式中再输入“4,”(注意这里的逗号是英文的)。(ps:提示信息让我们选择“TRUE”或“FALSE”,这个我们不用选,直接按回车键就可以了)

8、现在我们按下回车键之后,电脑就会展示出匹配到的数据,如下图示例。

9、最后一步是,如果想要把一列中的数据都匹配出来,那么我们只需要按下图操作。

10、现在我们已经完成了所有的操作,最终效果如下。

备注:vlookup函数通俗的解释
vlookup(要在目标区域第一列查找的值,目标区域,要返回的值在目标区域的哪一列,如果已排序可以使用模糊查找1否则精确查找0)。




做个例子你试下可以吗。

单元格中公式=VLOOKUP(B1,INDIRECT(""&B2&"月"&"!A1:B10"),2,0)

1月数据zhidao

2月数据:

通过vlookup查找对应序号的数据。

INDIRECT这个是引用其对应月份表格的数据,后面区域根据实际情况做修改就可以了。

你的表格中工作表的命名是1月-12月,前面单元格中是1-12,所以需要在加一个月就可以匹配引用了。

相关阅读

关键词不能为空
极力推荐
  • IF函数详解-Excel2003教程

  • Excel2003教程,条件值logical_test如果为TRUE,则返回第二个参数value_if_true。一、参数logical_test如果不是逻辑值,或者不能转换为逻辑值,函数返回错误值#VALUE!

ppt怎么做_excel表格制作_office365_word文档_365办公网