如何用excel中的vlookup实现一对多项查询

作者&投稿:用庙 (若有异议请与网页底部的电邮联系)
Excel VLOOKUP函数怎么实现多条件查找~

vlookup函数怎么多条件查找?

如果非得用vlookup函数的话
=IFERROR(VLOOKUP(A1,表1!A:B,2,),0)+IFERROR(VLOOKUP(A1,表2!A:B,2,),0)
这样的话,公式比较长,所以建议采用cfzzj007给的sumif()函数做条件求和比较简单一些

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)

  假定A列为查询值,B列为获取值,要查询的值是XX


  • 最直观、常用的方法:

  在C1格输入公式

  =INDEX(B$1:B$5,SMALL(IF(XX=A$1:A$5,ROW($1:$5),8^8),ROW(A1)))

  Ctrl+Alt+Enter后填充至需要结果的数目即可


  • 非得用Vlookup完成最后一击的方法

  在C1格输入公式

  =VLOOKUP(1,INDIRECT("A"&SMALL(IF(XX=A$1:A$5,ROW($1:$5),8^8),ROW(A3))&":B$5"),2,0)

  Ctrl+Alt+Enter后填充至需要结果的数目即可(这个方法通过查询到的行号改变了查找范围)

  

  • 如果添加辅助列,vlookup就比较适合了,但步骤较多,远没有上述两种快捷,不再累述



示例 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?,请安装和加载“分析工具库”加载宏。

操作方法

在“工具”菜单上,单击“加载宏”。
在“可用加载宏”列表中,选中“分析工具库”框,然后单击“确定”。
如有必要,请按照安装程序中的说明操作。

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)

示例 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)


EXCEL里面的“宏”怎么用?
1、通常首先添加“宏”选项。具体路径是单击左上角的Microsoft图标,然后选择:“Excel选项” - “常用”,选中“功能区显示开发工具”选项卡,然后您可以看到“开发”有一个选项“工具”在Excel选项卡中。2、在Excel选项卡上选择“开发工具”,开始录制宏,选择B3单元格的文本[百度网页],然后单击选择“...

excel用法与技巧大全
在设置保护工作表前,首先确认要保护的单元格是否处于“锁定”状态,选中并右击单元格,在弹出的菜单中选择“设置单元格格式”,选择“保护”选项卡,确认已选中“锁定”项,在默认状态下,单元格和图形对象均处于锁定状态,此时,如果设置工作表被保护,则相应信息不能修改。保护工作表的方法如下:选择“...

怎么样在excel中使用求和函数
准备材料:WPS的EXCEL表格 步骤:1、新建XLSX或XLS工作表,并打开,此处新建的是XLSX工作表。2、因为为演示插入求和函数,故随机在表格中输入数字。3、点击菜单栏中的公式栏,再点击自动求和的下拉箭头。3、如果要确定将求和值列在指定单元,需要先选择单元格。点击“求和”。4、指定单元格会出现如图所示...

Excel中A1样式和R1C1引用样式怎么用?
Excel中A1样式和R1C1引用样式怎么用?Excel引用样式共有2种,即A1引用样式和R1C1引用样式。一、那何为A1引用样式?这里的A就是列号,即A列;这里的1表示行号,即第1行;所以在A1引用样式下,第1行第1列,用A1来表示,就是我们通常说的A1单元格。   二、那何为R1C1引用样式?...

Excel中的数组函数怎么用?什么是数组函数?
1、EXCEL数组函数是用于建立可产生多个结果或可对存放在行和列中的一组参数进行运算的单个公式。2、Excel数组用法:区域数组和常量数组。区域数组是一个矩形的单元格区域,该区域中的单元格共用一个公式;常量数组将一组给定的常量用作某个公式中的参数。3、举例说明:数组: ={1,2;3,4}*2扩充后的...

如何运用Excel
excel如何用的好?

Microsoft Excel 工作表怎么使用
1、首先,我们打开我们的电脑,然后我们打开我们电脑上面的excel,之后我们选中图示中的区域;2、然后我们点击边框按钮边上的下拉箭头,弹出的界面,我们点击所有边框;3、之后我们选中图示中的区域,然后我们点击合并后居中;4、然后我们输入相应的信息,之后我们将所有字体都居中显示;5、最后,我们将第一列...

excel公式中的相对引用、绝对引用和混合引用有何区别及应用?
1. 相对引用<\/如同随波逐流,复制公式时地址会根据目标位置自动调整。比如,C1的公式 =A1+B1,复制到C2会变为 =A2+B2,显示相邻单元格的值。2. 绝对引用<\/则是坚定不移,无论复制到何处,公式中的地址始终保持不变。例如,C1的 =$A$1+$B$1,无论复制到C2还是D1,始终指向A1和B1的值,...

请问EXCEL中的"SUBTOTAL"这个公式怎么使用?
subtotal函数日常中最常见到的是在分类汇总中, 返回列表或数据库中的分类汇总。通常,使用“数据”菜单中的“分类汇总”命令可以容易地创建带有分类汇总的列表。一旦创建了分类汇总,就可以通过编辑 SUBTOTAL 函数对该列表进行修改。举例如下:1、在H2中录入公式:“=SUBTOTAL(9,C2:G2)”。2、返回...

怎样用excel求当天日期和时间呢?
1、打开Excel表格,在单元格中输入=MONTH(TODAY())。2、输入公式=MONTH(TODAY())后,按回车键即可得到当前月份。3、在单元格中输入=NOW()。4、按回车键确定公式,即可得到当前年月日以及时间。5、在单元格中输入=TODAY()。6、即可得到当天日期。

淅川县17280828698: excel中的vlookup函数怎么用 -
莘修洛普: excel中的vlookup函数的使用方法详解: 1 函数的语法为: VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找) 第一参数是要在表格或区域的第一列中查询的值.第二参数是需要查询的单元格区域,这个区域中的首列必...

淅川县17280828698: 怎么在excel中使用VLOOKUP函数 -
莘修洛普: Excel中Vlookup函数的用法=VLOOKUP(查找值,查找区域来,返回值在查找区域的列数,匹配方式) ,注源意查找区域中第一列必须是查找值所在bai的列. 软件版本:Office2013 举例说明如下: 1.Sheet1中有如du下内容: 2.在zhiSheet2中输入如下公式:3.下拉填充公式,这dao样,就通过Vlookup函数,实现了在Sheet2中匹配Sheet1中的数据.

淅川县17280828698: excel表格的函数vlookup怎么用 -
莘修洛普: VLOOKUP 功能:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值.格式:=VLOOKUP(参数1,参数2,参数3,参数4) 含义:“参数1”为需要在数组第一列中查找的数值,可以为数值、引用或文...

淅川县17280828698: EXCEL里的VLOOKUP函数怎么用呢?!!
莘修洛普: 具体的你可以看看excel的这个函数的帮助. 我简单介绍一下: =vlookup(E1,A:D,1,false) 这个E1(这个只是举例)是你要在A:D区域查找的内容,可以是数字、文本、单元格引用; A:D是你要查询的区域,在里面你可以得到你要的信息,这个区...

淅川县17280828698: excel的vlookup如何使用? -
莘修洛普: VLOOKUP函数的使用,关键是要掌握他的语法 语法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 参数:Lookup_value 为需要在数据表第一列中查找的数 值,它可以是数值、引用或文字串.Table_array 为需要在其 中...

淅川县17280828698: excel中vlookup的使用方法 -
莘修洛普: 一、语法标准格式: VLOOKUP(lookup_value,table_array,col_index_num , range_lookup) 二、语法解释 VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以写为: VLOOKUP(需...

淅川县17280828698: 怎么用VLOOKUP来匹配excel表里面的数据 -
莘修洛普: 1、首先在我们的电脑桌面上找到一个excel表格并点击它2、然后我们在里面随便输入一些内容,3、接着我们在随便选择一个单元格,4、然后我们在里面输入公式,5、最后点击回车键就能够得到我们想要匹配的结果了

淅川县17280828698: excel中的vlookup怎么用 -
莘修洛普: 一般比较常用的是=VLOOKUP(查找的条件,查找的区域,如果满足区域则返回区域第几列数据,不满足时返回值) 写个公式给你看=VLOOKUP(D1,A1:C99,1,0) 对应着看,就很容易理解了 VLOOKUP与LOOKUP的区别在与,V的数据要以列为准,LOOKUP是以行为准

淅川县17280828698: excel的vlookup函数怎样用 -
莘修洛普: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)Lookup_value为需要在数据表第1列中进行查找的数值.Lookup_value可以为数值、援用或文本字符串.Table_array为需要在其中查找数据的数据表.使用对区域或区域名称的援...

淅川县17280828698: 计算机中的vlookup函数怎么使用
莘修洛普: 该函数是在excel中使用的,共有4个参数.第一个是要查找的内容(可以是数字,也可以是文本字符);第2个参数是要查找的区域(一般是包含几列).第3个是参数是所要查找的内容在查找区域内参与第几列;第4个参数是精确查找(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网