20多个适用于Excel初学者和高级用户的VLOOKUP示例

20多个适用于Excel初学者和高级用户的VLOOKUP示例

20多个适用于Excel初学者和高级用户的VLOOKUP示例 Author: Xiaoyang Last Modified: 2025-07-31 VLOOKUP函数是Excel中最受欢迎的函数之一。本教程将逐步介绍如何在Excel中使用VLOOKUP函数,包括数十个基础和高级示例。

目录:

1. VLOOKUP函数介绍——语法和参数

2. 基础VLOOKUP示例

2.1 精确匹配和近似匹配的VLOOKUP 精确匹配的VLOOKUP |近似匹配的VLOOKUP 2.2 区分大小写的VLOOKUP 2.3 从右到左的VLOOKUP 2.4 VLOOKUP第二个、第n个或最后一个匹配值 VLOOKUP第二个或第n个匹配值 | VLOOKUP最后一个匹配值 2.5 VLOOKUP在两个给定值或日期之间 通过使用公式 |通过使用一个便捷功能 - Kutools 2.6 在VLOOKUP函数中使用通配符进行部分匹配 2.7 从另一个工作表中VLOOKUP值 2.8 从另一个工作簿中VLOOKUP值 2.9 VLOOKUP并返回空白或特定文本而不是0或#N/A错误值 3. 高级VLOOKUP示例

3.1 使用VLOOKUP函数进行双向查找(在行和列中进行VLOOKUP) 3.2 基于两个或多个条件的VLOOKUP匹配值 通过使用公式 |通过使用一个智能功能 - Kutools 3.3 VLOOKUP返回具有一个或多个条件的多个匹配值 水平返回值 | 垂直返回值 | 返回值到一个单元格 3.4 VLOOKUP返回匹配单元格的整行 3.5 在Excel中进行多个VLOOKUP函数(嵌套VLOOKUP) 3.6 VLOOKUP检查值是否存在于另一列的数据列表中 3.7 VLOOKUP并求和行或列中的所有匹配值 VLOOKUP并在行中求和 | VLOOKUP并在列中求和 VLOOKUP并使用强大功能求和 | VLOOKUP并在行和列中求和 3.8 VLOOKUP根据一个或多个关键列合并两个表 通过一个关键列 |通过多个关键列 3.9 VLOOKUP跨多个工作表匹配值 4. VLOOKUP匹配的值保留单元格格式

4.1 VLOOKUP并保留单元格颜色和字体格式 4.2 VLOOKUP并保留日期格式 4.3 VLOOKUP并保留单元格批注 4.4 VLOOKUP将数字存储为文本 下载VLOOKUP示例文件 基础Vlookup示例 | 高级Vlookup示例 | Vlookup保留单元格格式

VLOOKUP函数介绍——语法和参数在Excel中,VLOOKUP函数对大多数Excel用户来说是一个强大的函数,它允许您在数据区域的最左侧查找一个值,并从您指定的列中返回同一行的匹配值,如下图所示。

VLOOKUP函数的语法:

=VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])参数:

"Lookup_value"(必需):您要搜索的值。它可以是一个值(数字、日期或文本)或单元格引用。它必须位于table_array范围的第一列中。

"Table_array"(必需):查找值列和结果值列所在的数据区域或表格。

"Col_index_num"(必需):包含返回值的列号。它从表格区域的最左列开始计数为1。

"Range_lookup"(可选):一个逻辑值,用于确定此VLOOKUP函数是返回精确匹配还是近似匹配。

"近似匹配" –1 / TRUE /省略(默认):如果未找到精确匹配,公式将搜索最接近的匹配值——小于查找值的最大值。 "精确匹配" –0 / FALSE:用于搜索与查找值完全相等的值。如果未找到精确匹配,将返回错误值#N/A。 函数说明:

Vlookup函数仅从左到右查找值。 Vlookup函数执行不区分大小写的查找。 如果根据查找值找到多个匹配值,Vlookup函数只会返回第一个匹配的值。 基础VLOOKUP示例在本节中,我们将讨论一些您经常使用的Vlookup公式。

2.1 精确匹配和近似匹配的VLOOKUP 2.1.1 执行精确匹配的VLOOKUP通常,如果您要使用VLOOKUP函数查找精确匹配,只需将最后一个参数设置为FALSE。

例如,要根据特定的ID号获取相应的数学成绩,请按如下操作:

请将以下公式复制并粘贴到一个空白单元格中(此处选择G2),然后按"Enter"键以获得结果:

=VLOOKUP(F2,$A$2:$D$7,3,FALSE)

注意:在上述公式中,有四个参数:

"F2"是包含您要查找的值C1005的单元格; "A2:D7"是您要执行查找的表格区域; "3"是返回匹配值的列号;(一旦函数找到ID - C1005,它将转到表格区域的第三列,并返回与ID - C1005同一行的值。) "FALSE"表示精确匹配。 VLOOKUP公式如何工作?

首先,它在表格的最左列中查找ID - C1005。它从上到下查找,并在单元格A6中找到该值。

一旦找到该值,它将转向第三列并提取其中的值。

因此,您将获得如下图所示的结果:

注意:如果在最左列中找不到查找值,将返回#N/A错误。 🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 增强函数… 热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格而不丢失数据 | 四舍五入 ... 高级 LOOKUP: 多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ... 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表 ... 列管理器: 添加指定数量的列 | 移动列 | 取消隐藏列 | 比较区域和列 ... 精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库 | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(通过粗体/斜体...) ... 排名前 15 的工具集: 12 种文本 工具(添加文本,删除特定字符,...) | 50+ 图表 类型(甘特图,...) | 40+ 实用 公式(基于生日计算年龄,...) | 19 种插入 工具(插入二维码,从路径插入图片,...) | 12 种转换 工具(小写金额转大写,汇率转换,...) | 7 种合并与分割 工具(高级合并行,分割单元格,...) | 更多功能... Kutools for Excel 拥有超过 300 项功能,确保您所需的功能仅需一键即可实现...

2.1.2 执行近似匹配的VLOOKUP近似匹配对于在数据区域之间搜索值非常有用。如果未找到精确匹配,近似VLOOKUP将返回小于查找值的最大值。

例如,如果您有以下数据范围,并且指定的订单不在订单列中,如何在B列中获取其最接近的折扣?

步骤1:应用VLOOKUP公式并填充到其他单元格

将以下公式复制并粘贴到您要放置结果的单元格中,然后向下拖动填充柄以将此公式应用于其他单元格。

=VLOOKUP(D2,$A$2:$B$9,2,TRUE) 结果:

现在,您将根据给定的值获得近似匹配,见截图:

注意:

在上述公式中:

"D2"是您要返回其相关信息的值; "A2:B9"是数据区域; "2"表示返回匹配值的列号; "TRUE"表示近似匹配。 如果未找到精确匹配,近似匹配将返回小于您特定查找值的最大值。 要使用VLOOKUP函数获取近似匹配值,您必须按升序对数据区域的最左列进行排序,否则将返回错误结果。 2.2 在Excel中执行区分大小写的VLOOKUP默认情况下,VLOOKUP函数执行不区分大小写的查找,这意味着它将小写和大写字符视为相同。有时,您可能需要在Excel中执行区分大小写的查找,普通的VLOOKUP函数可能无法解决。在这种情况下,您可以使用替代函数,如INDEX和MATCH与EXACT函数,或LOOKUP和EXACT函数。

例如,我有以下数据范围,其中ID列包含大写或小写的文本字符串,现在,我想返回给定ID号的相应数学成绩。

步骤1:应用任一公式并填充到其他单元格

请将以下任一公式复制并粘贴到您要获取结果的空白单元格中。然后,选择公式单元格,向下拖动填充柄到您要填充此公式的单元格。

公式1:粘贴公式后,请按"Ctrl" + "Shift" + "Enter"键。

=INDEX($C$2:$C$10,MATCH(TRUE,EXACT(F2,$A$2:$A$10),0))公式2:粘贴公式后,请按"Enter"键。

=LOOKUP(2,1/EXACT(F2,$A$2:$A$10),$C$2:$C$10) 结果:

然后您将获得所需的正确结果。见截图:

注意:

在上述公式中:

"A2:A10"是包含您要查找的特定值的列; "F2"是查找值; "C2:C10"是返回结果的列。 如果找到多个匹配项,此公式将始终返回最后一个匹配项。 2.3 在Excel中从右到左的VLOOKUPVLOOKUP函数始终在数据区域的最左列中搜索值,并从右侧的列中返回相应的值。如果您想执行反向VLOOKUP,即在右列中查找特定值并返回其在左列中的相应值,如下图所示:

点击了解有关此任务的详细步骤...

2.4 在Excel中VLOOKUP第二个、第n个或最后一个匹配值通常,如果在使用Vlookup函数时找到多个匹配值,只有第一个匹配记录会被返回。在本节中,我将讨论如何在数据区域中获取第二个、第n个或最后一个匹配值。

2.4.1 VLOOKUP并返回第二个或第n个匹配值假设您在A列中有一个名称列表,在B列中有他们购买的培训课程。现在,您希望找到给定客户购买的第二个或第n个培训课程。见截图:

在这里,VLOOKUP函数可能无法直接解决此任务。但是,您可以使用INDEX函数作为替代。

步骤1:应用并填充公式到其他单元格

例如,要根据给定条件获取第二个匹配值,请将以下公式应用到一个空白单元格中,并同时按"Ctrl" + "Shift" + "Enter"键以获得第一个结果。然后,选择公式单元格,向下拖动填充柄到您要填充此公式的单元格。

=INDEX($B$2:$B$14,SMALL(IF(E2=$A$2:$A$14,ROW($A$2:$A$14)-ROW($A$2)+1),2)) 结果:

现在,所有基于给定名称的第二个匹配值已一次性显示。

注意:在上述公式中:

"A2:A14"是包含所有查找值的范围; "B2:B14"是您要返回匹配值的范围; "E2"是查找值; "2"表示您要获取的第二个匹配值,要返回第三个匹配值,只需将其更改为3。 2.4.2 VLOOKUP并返回最后一个匹配值如果您想要VLOOKUP并返回最后一个匹配值,如下图所示,本教程VLOOKUP并返回最后一个匹配值可能会帮助您详细获取最后一个匹配值。

2.5 VLOOKUP匹配两个给定值或日期之间的值有时,您可能希望查找两个值或日期之间的值并返回相应的结果,如下图所示。在这种情况下,您可以使用LOOKUP函数而不是VLOOKUP函数与已排序的表格。

2.5.1 使用公式在两个给定值或日期之间VLOOKUP匹配值 步骤1:整理数据并应用以下公式

您的原始表格应为已排序的数据区域。然后,将以下公式复制或输入到一个空白单元格中。然后,拖动填充柄以将此公式填充到您需要的其他单元格。

=LOOKUP(2,1/($A$2:$A$6<=E2)/($B$2:$B$6>=E2),$C$2:$C$6) 结果:

现在,您将根据给定值获得所有匹配记录,见截图:

注意:

在上述公式中:

"A2:A6"是较小值的范围; "B2:B6"是较大数字的范围; "E2"是您要获取其相应值的查找值; "C2:C6"是您要返回相应值的列。 此公式也可用于提取两个日期之间的匹配值,如下图所示: 2.5.2 使用便捷功能在两个给定值或日期之间VLOOKUP匹配值如果您发现记住和理解上述公式很困难,这里,我将介绍一个简单的工具——"Kutools for Excel",通过其"查找介于两值之间的数据"功能,您可以轻松地根据特定值或日期在两个值或日期之间返回相应的项目。

点击"Kutools" > "高级LOOKUP" > "查找介于两值之间的数据"以启用此功能。 然后根据您的数据从对话框中指定操作。 注意:要应用此功能,请下载Kutools for Excel并享受30天免费试用。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息... 免费试用...2.6 在VLOOKUP函数中使用通配符进行部分匹配在Excel中,可以在VLOOKUP函数中使用通配符,这允许您对查找值进行部分匹配。例如,您可以使用VLOOKUP根据查找值的一部分从表格中返回匹配值。

假设,我有如下图所示的数据范围,现在,我想根据名字(而不是全名)提取分数。如何在Excel中解决此任务?

步骤1:应用公式并填充到其他单元格

请将以下公式复制或输入到一个空白单元格中,然后,拖动填充柄以将此公式填充到您需要的其他单元格。

=VLOOKUP(E2&"*", $A$2:$C$11, 3, FALSE) 结果:

所有匹配的分数已返回,如下图所示:

注意:在上述公式中:

"E2&"*""是部分匹配的条件。这意味着您正在查找以E2单元格中的值开头的任何值。(通配符"*"表示任意一个字符或任意多个字符) "A2:C11"是您要搜索匹配值的数据范围; "3"表示从数据范围的第三列返回匹配值; "False"表示精确匹配。(使用通配符时,您必须将函数中的最后一个参数设置为FALSE或0以启用VLOOKUP函数的精确匹配模式。) 提示:

要查找并返回以特定值结尾的匹配值,您应在值前放置通配符"*"。请应用此公式: =VLOOKUP("*"&E2, $A$2:$C$11,3, FALSE) 要根据文本字符串的一部分查找并返回匹配值,无论指定的文本是在文本字符串的开头、结尾还是中间,您只需在单元格引用或文本两侧加上两个星号(*)。请使用此公式 =VLOOKUP("*"&D2&"*", $A$2:$B$11,2, FALSE) 2.7 从另一个工作表中VLOOKUP值通常,您可能需要处理多个工作表,VLOOKUP函数可以用于从另一个工作表中查找数据,与在一个工作表上查找数据相同。

例如,您有如下图所示的两个工作表,要查找并返回您指定的工作表中的相应数据,请按以下步骤操作:

步骤1:应用公式并填充到其他单元格

请在您要获取匹配项的空白单元格中输入或复制以下公式。然后,向下拖动填充柄到您要应用此公式的单元格。

=VLOOKUP(A2,'Data sheet'!$A$2:$C$15,3,0) 结果:

您将获得所需的相应结果,见截图:

注意:在上述公式中:

"A2"表示查找值; "'Data sheet'!A2:C15"表示在名为Data sheet的工作表上的范围A2:C15中搜索值;(如果工作表名称包含空格或标点符号字符,您应将工作表名称用单引号括起来,否则,您可以直接使用工作表名称,如:=VLOOKUP(A2,Datasheet!$A$2:$C$15,3,0))。 "3"是包含您要返回的匹配数据的列号; "0"表示执行精确匹配。 2.8 从另一个工作簿中VLOOKUP值本节将讨论如何使用VLOOKUP函数从不同的工作簿中查找并返回匹配值。

例如,假设您有两个工作簿。第一个工作簿包含产品列表及其相应的成本。在第二个工作簿中,您希望提取每个产品项目的相应成本,如下图所示。

步骤1:应用公式

打开您要使用的两个工作簿,然后将以下公式应用到您要在第二个工作簿中放置结果的单元格中。然后,拖动并复制此公式到您需要的其他单元格

=VLOOKUP(B2,'[Product list.xlsx]Sheet1'!$A$2:$B$6,2,0) 结果:

注意:

在上述公式中:

"B2"表示查找值; "'[Product list.xlsx]Sheet1'!A2:B6"表示在工作簿Product list的Sheet1中从范围A2:B6中搜索;(对工作簿的引用用方括号括起来,整个工作簿+工作表用单引号括起来。) "2"是包含您要返回的匹配数据的列号; "0"表示返回精确匹配。 如果查找工作簿已关闭,查找工作簿的完整文件路径将在公式中显示,如下图所示: 2.9 返回空白或特定文本而不是0或#N/A错误通常,当您使用VLOOKUP函数返回相应值时,如果匹配单元格为空白,它将返回0。如果未找到匹配值,您将获得#N/A错误值,如下图所示。如果您希望显示空白单元格或特定值而不是0或#N/A,本教程VLOOKUP返回空白或特定值而不是0或N/A可能会帮助您。

高级VLOOKUP示例3.1 双向查找(在行和列中进行VLOOKUP)有时,您可能需要执行二维查找,这意味着同时在行和列中搜索一个值。例如,如果您有以下数据范围,并且您可能需要获取特定季度中特定产品的值。本节将介绍一种在Excel中处理此任务的公式。

在Excel中,您可以结合使用VLOOKUP和MATCH函数进行双向查找。

请将以下公式应用到一个空白单元格中,然后按"Enter"键以获得结果。

=VLOOKUP(G2, $A$2:$E$7, MATCH(H1, $A$2:$E$2, 0), FALSE)

注意:在上述公式中:

"G2"是您要基于其获取相应值的列中的查找值; "A2:E7"是您将从中查找的数据表; "H1"是您要基于其获取相应值的行中的查找值; "A2:E2"是列标题的单元格; "FALSE"表示获取精确匹配。 3.2 基于两个或多个条件的VLOOKUP匹配值根据一个条件查找匹配值很容易,但如果您有两个或多个条件,该怎么办?

3.2.1 使用公式基于两个或多个条件的VLOOKUP匹配值在这种情况下,Excel中的LOOKUP或MATCH和INDEX函数可以帮助您快速轻松地解决此任务。

例如,我有下面的数据表,要根据特定产品和大小返回匹配的价格,以下公式可能会帮助您。

步骤1:应用以下任一公式

公式1:输入以下公式并按"Enter"。

=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2),($D$2:$D$12))公式2:输入以下公式并按"Ctrl" + "Shift" + "Enter"。

=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2),0)) 结果:

注意:

在上述公式中:

"A2:A12=G1"表示在范围A2:A12中搜索G1的条件; "B2:B12=G2"表示在范围B2:B12中搜索G2的条件; "D2:D12"是您要返回相应值的范围。 如果您有两个以上的条件,只需将其他条件加入公式中,例如:

=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2)/($C$2:$C$12=G3),($D$2:$D$12)) =INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2)*($C$2:$C$12=G3),0)) 3.2.2 使用Kutools for Excel基于两个或多个条件的VLOOKUP匹配值记住上述复杂公式并反复应用可能具有挑战性,这可能会降低您的工作效率。然而,"Kutools for Excel"提供了一个"多条件查找"功能,允许您仅通过几次点击就能根据一个或多个条件返回相应结果。

点击"Kutools" > "高级LOOKUP" > "多条件查找"以启用此功能。 然后根据您的数据从对话框中指定操作。 注意:要应用此功能,请下载Kutools for Excel并享受30天免费试用。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息... 免费试用...3.3 VLOOKUP返回具有一个或多个条件的多个值在Excel中,VLOOKUP函数搜索一个值,如果找到多个相应值,只返回第一个匹配值。有时,您可能希望返回一行、一列或一个单元格中的所有相应值。本节将讨论如何在工作簿中返回具有一个或多个条件的多个匹配值。

3.3.1 水平返回基于一个或多个条件的所有匹配值假设您有一个包含国家、城市和名称的数据表,范围为A1:C14,现在,您希望水平返回来自"US"的所有名称,如下图所示。要解决此任务,请 点击此处逐步获取结果。

3.3.2 垂直返回基于一个或多个条件的所有匹配值如果您需要VLOOKUP并垂直返回基于特定条件的所有匹配值,如下图所示,请点击此处获取详细解决方案。

3.3.3 将基于一个或多个条件的所有匹配值返回到一个单元格中如果您希望VLOOKUP并将多个匹配值返回到一个带有指定分隔符的单元格中,TEXTJOIN的新功能可以帮助您快速轻松地解决此任务。

注意:

TEXTJOIN函数仅在Excel2019、Excel365及更高版本中可用。 如果您使用的是Excel2016及更早版本,请使用以下文章的用户自定义函数: 在Excel中将多个值返回到一个单元格的VLOOKUP 3.4 VLOOKUP返回匹配单元格的整行 在本节中,我将讨论如何使用VLOOKUP函数检索匹配值的整行。

步骤1:应用以下公式

请将以下公式复制或输入到您要输出结果的空白单元格中,然后按"Enter"键以获得第一个值。然后,向右拖动公式单元格,直到显示整行数据。

=VLOOKUP($F$2,$A$1:$D$12,COLUMN(A1),FALSE) 结果:

现在,您可以看到整行数据已返回。见截图:

注意:在上述公式中:

"F2"是您要基于其返回整行的查找值; "A1:D12"是您要从中查找查找值的数据范围; "A1"表示数据范围内的第一列号; "FALSE"表示精确查找。 提示:

如果根据匹配值找到多行,要返回所有相应的行,请应用以下公式,然后同时按"Ctrl" + "Shift" + "Enter"键以获得第一个结果。然后向右拖动填充柄。然后,继续向下拖动填充柄跨单元格以获取所有匹配行。见下方演示:

=IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH($F$2,$A$2:$A$12)),ROW($A$2:$A$12),""),ROW()-1)),"") 3.5 在Excel中嵌套VLOOKUP有时,您可能需要查找跨多个表格相互关联的值。在这种情况下,您可以嵌套多个VLOOKUP函数以获得最终值。

例如,我有一个包含两个独立表格的工作表。第一个表列出了所有产品名称及其对应的销售员。第二个表列出了每个销售员的总销售额。现在,如果您想找到每个产品的销售额,如下图所示,您可以嵌套VLOOKUP函数来完成此任务。

嵌套VLOOKUP函数的通用公式是:

=VLOOKUP(VLOOKUP(lookup_value, table_array1, col_index_num1,0), table_array2, col_index_num2,0)注意:

"lookup_value"是您要查找的值; "Table_array1"、"Table_array2"是查找值和返回值所在的表格; "col_index_num1"表示在第一个表中查找中间公共数据的列号; "col_index_num2"表示在第二个表中您要返回匹配值的列号; "0"用于精确匹配。 步骤1:应用并填充以下公式

请将以下公式应用到一个空白单元格中,然后向下拖动填充柄到您要应用此公式的单元格。

=VLOOKUP(VLOOKUP(G3,$A$3:$B$7,2,0),$D$3:$E$7,2,0) 结果:

现在,您将获得如下图所示的结果:

注意:在上述公式中:

"G3"包含您要查找的值; "A3:B7"、"D3:E7"是查找值和返回值所在的表格范围; "2"是范围中返回匹配值的列号。 "0"表示VLOOKUP精确匹配。 3.6 检查值是否存在于另一列的数据列表中VLOOKUP函数还可以帮助您检查值是否存在于另一列的数据列表中。例如,如果您想在C列中查找名称,并仅返回是或否以指示名称是否在A列中找到,如下图所示。

步骤1:应用以下公式

请将以下公式应用到一个空白单元格中,然后向下拖动填充柄到您要填充此公式的单元格。

=IF(ISNA(VLOOKUP(C2,$A$2:$A$10,1,FALSE)), "No", "Yes") 结果:

您将获得所需的结果,见截图:

注意:在上述公式中:

"C2"是您要检查的查找值; "A2:A10"是要检查查找值是否存在的范围列表; "FALSE"表示获取精确匹配。 3.7 VLOOKUP并求和行或列中的所有匹配值处理数值数据时,您可能需要从表格中提取匹配值并对多个列或行中的数字求和。本节将介绍一些可以帮助您完成此任务的公式。

3.7.1 VLOOKUP并求和一行或多行中的所有匹配值假设您有一个产品列表,其中包含几个月的销售额,如下图所示。现在,您需要根据给定的产品对所有月份的订单求和。

步骤1:应用以下公式

请将以下公式复制或输入到一个空白单元格中,然后同时按"Ctrl" + "Shift" + "Enter"键以获得第一个结果。然后,向下拖动填充柄以将此公式复制到您需要的其他单元格。

=SUM(VLOOKUP(H2, $A$2:$F$9, {2,3,4,5,6}, FALSE))

结果:

第一个匹配值所在行的所有值已求和,见截图:

注意:在上述公式中:

"H2"是包含您要查找的值的单元格; "A2:F9"是不包含列标题的查找值和匹配值的数据范围; "{2,3,4,5,6}"是用于计算范围总和的列号; "FALSE"表示精确匹配。 提示:如果您想对多行中的所有匹配项求和,请使用以下公式:

=SUMPRODUCT(($A$2:$A$9=H2)*$B$2:$F$9) 3.7.2 VLOOKUP并求和一列或多列中的所有匹配值如果您想对特定月份的总值求和,如下图所示。普通的VLOOKUP函数可能无法帮助您,这里,您应该结合使用SUM、INDEX和MATCH函数来创建一个公式。

步骤1:应用以下公式

将以下公式应用到一个空白单元格中,然后向下拖动填充柄以将此公式复制到其他单元格。

=SUM(INDEX($B$2:$F$9,0,MATCH(H2,$B$1:$F$1,0))) 结果:

现在,基于特定月份的第一匹配值已求和,见截图:

注意:在上述公式中:

"H2"是包含您要查找的值的单元格; "B1:F1"是包含查找值的列标题; "B2:F9"是包含您要求和的数值的数据范围。 提示:要在多列中VLOOKUP并求和所有匹配值,您应使用以下公式:

=SUMPRODUCT($B$2:$F$9*(($B$1:$F$1)=H2)) 3.7.3 使用Kutools for Excel进行VLOOKUP并求和第一个匹配或所有匹配值也许上述公式对您来说难以记住,在这种情况下,我将推荐一个强大的功能——"Kutools for Excel"的"查找求和",通过此功能,您可以尽可能轻松地在行或列中VLOOKUP并求和第一个匹配或所有匹配值。

点击"Kutools" > "高级LOOKUP" > "查找求和"以启用此功能。 然后根据您的需要从对话框中指定操作。 注意:要应用此功能,请下载Kutools for Excel并享受30天免费试用。 Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息... 免费试用... 3.7.4 VLOOKUP并在行和列中求和所有匹配值如果您想在需要同时匹配列和行时求和值,例如,要获取如图所示的产品Sweater在三月份的总值。

在这里,您可以使用SUMPRODCT函数来完成此任务。

请将以下公式应用到一个单元格中,然后按"Enter"键以获得结果,见截图:

=SUMPRODUCT(($B$2:$F$9)*($B$1:$F$1=I2)*($A$2:$A$9=H2))

注意:在上述公式中:

"B2:F9"是包含您要求和的数值的数据范围; "B1:F1"是包含您要基于其求和的查找值的列标题; "I2"是您在列标题中查找的查找值; "A2:A9"是包含您要基于其求和的查找值的行标题; "H2"是您在行标题中查找的查找值。 3.8 VLOOKUP根据关键列合并两个表在日常工作中,分析数据时,您可能需要根据一个或多个关键列将所有必要信息汇总到一个表中。要完成此任务,您可以使用INDEX和MATCH函数而不是VLOOKUP函数。

3.8.1 VLOOKUP根据一个关键列合并两个表例如,您有两个表,第一个表包含产品和名称数据,第二个表包含产品和订单数据,现在,您希望通过匹配公共产品列将这两个表合并为一个表。

步骤1:应用以下公式

请将以下公式应用到一个空白单元格中。然后,向下拖动填充柄到您要应用此公式的单元格

=INDEX($F$2:$F$8, MATCH($A2, $E$2:$E$8, 0)) 结果:

现在,您将获得一个合并的表,其中订单列根据关键列数据加入到第一个表中。

注意:在上述公式中:

"A2"是您要查找的值; "F2:F8"是您要返回匹配值的数据范围; "E2:E8"是包含查找值的查找范围。 3.8.2 VLOOKUP根据多个关键列合并两个表如果您要合并的两个表具有多个关键列,请按照以下步骤根据这些公共列合并表。

通用公式是:

=INDEX(lookup_table, MATCH(1, (lookup_value1=lookup_range1) * (lookup_value2=lookup_range2),0), return_column_number)注意:

"lookup_table"是包含查找数据和匹配记录的数据范围; "lookup_value1"是您要查找的第一个条件; "lookup_range1"是包含第一个条件的数据列表; "lookup_value2"是您要查找的第二个条件; "lookup_range2"是包含第二个条件的数据列表; "return_column_number"表示您要返回匹配值的lookup_table中的列号。 步骤1:应用以下公式

请将以下公式应用到您要放置结果的空白单元格中,然后同时按"Ctrl" + "Shift" + "Enter"键以获得第一个匹配值,见截图:

=INDEX($E$2:$G$9, MATCH(1, ($A2=$E$2:$E$9) * ($B2=$F$2:$F$9), 0), 3)

步骤2:将公式填充到其他单元格

然后,选择第一个公式单元格,并拖动填充柄以将此公式复制到您需要的其他单元格:

提示:在Excel2016或更高版本中,您还可以使用"Power Query"功能根据关键列将两个或多个表合并为一个。请点击了解详细步骤。3.9 VLOOKUP跨多个工作表匹配值您是否曾经需要在Excel中跨多个工作表执行VLOOKUP?例如,如果您有三个包含数据范围的工作表,并且您希望根据这些工作表中的条件检索特定值,您可以按照逐步教程VLOOKUP跨多个工作表匹配值来完成此任务。

VLOOKUP匹配的值保留单元格格式在查找匹配值时,原始单元格格式(如字体颜色、背景颜色、数据格式等)将不会保留。要保留单元格或数据格式,本节将介绍一些解决此任务的技巧。

4.1 VLOOKUP匹配值并保留单元格颜色和字体格式众所周知,普通的VLOOKUP函数只能从另一个数据范围中检索匹配值。然而,可能会有一些情况,您希望获取相应的值以及单元格格式,如填充颜色、字体颜色和字体样式。在本节中,我们将讨论如何在Excel中检索匹配值的同时保留源格式。

请按照以下步骤查找并返回其相应值以及单元格格式:

步骤1:将代码1复制到工作表代码模块中

在包含您要VLOOKUP数据的工作表中,右键单击工作表标签并从上下文菜单中选择"查看代码"。见截图: 在打开的"Microsoft Visual Basic for Applications"窗口中,请将以下VBA代码复制到代码窗口中。 VBA代码1:VLOOKUP获取单元格格式以及查找值 Sub Worksheet_Change(ByVal Target As Range)

'Updateby Extendoffice

Dim I As Long

Dim xKeys As Long

Dim xDicStr As String

On Error Resume Next

Application.ScreenUpdating = False

xKeys = UBound(xDic.Keys)

If xKeys >= 0 Then

For I = 0 To UBound(xDic.Keys)

xDicStr = xDic.Items(I)

If xDicStr <> "" Then

Range(xDic.Keys(I)).Interior.Color = _

Range(xDic.Items(I)).Interior.Color

Range(xDic.Keys(I)).Font.FontStyle = _

Range(xDic.Items(I)).Font.FontStyle

Range(xDic.Keys(I)).Font.Size = _

Range(xDic.Items(I)).Font.Size

Range(xDic.Keys(I)).Font.Color = _

Range(xDic.Items(I)).Font.Color

Range(xDic.Keys(I)).Font.Name = _

Range(xDic.Items(I)).Font.Name

Range(xDic.Keys(I)).Font.Underline = _

Range(xDic.Items(I)).Font.Underline

Else

Range(xDic.Keys(I)).Interior.Color = xlNone

End If

Next

Set xDic = Nothing

End If

Application.ScreenUpdating = True

End Sub

步骤2:将代码2复制到模块窗口中

仍在"Microsoft Visual Basic for Applications"窗口中,点击"插入" > "模块",然后将以下VBA代码2复制到"模块"窗口中。 VBA代码2:VLOOKUP获取单元格格式以及查找值 Public xDic As New Dictionary

Function LookupKeepFormat (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)

Dim xFindCell As Range

On Error Resume Next

Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)

If xFindCell Is Nothing Then

LookupKeepFormat = ""

xDic.Add Application.Caller.Address, ""

Else

LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value

xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address

End If

End Function

步骤3:选择VBAproject的选项

插入上述代码后,然后在"Microsoft Visual Basic for Applications"窗口中点击"工具" > "引用"。然后在"引用 – VBAProject"对话框中勾选"Microsoft Scripting Runtime"复选框。见截图:

然后,点击"确定"关闭对话框,然后保存并关闭代码窗口。 步骤4:输入公式以获取结果

现在,返回工作表,应用以下公式。然后,向下拖动填充柄以获取所有结果及其格式。见截图: =LookupKeepFormat(E2,$A$1:$C$10,3) 注意:在上述公式中:

"E2"是您要查找的值; "A1:C10"是表格范围; "3"是您要检索匹配值的表格中的列号。 4.2 保留VLOOKUP返回值的日期格式使用VLOOKUP函数查找并返回带有日期格式的值时,返回的结果可能显示为数字。要在返回结果中保留日期格式,您应将VLOOKUP函数包含在TEXT函数中。

步骤1:应用以下公式

请将以下公式应用到一个空白单元格中。然后,拖动填充柄以将此公式复制到其他单元格。

=TEXT(VLOOKUP(E2,$A$2:$C$9,3,FALSE),"mm/dd/yyyy") 结果:

所有匹配的日期已返回,如下图所示:

注意:在上述公式中:

"E2"是查找值; "A2:C9"是查找范围; "3"是您要返回值的列号; "FALSE"表示获取精确匹配; "mm/dd/yyyy"是您要保留的日期格式。 4.3 从VLOOKUP返回单元格批注您是否曾经需要使用VLOOKUP在Excel中同时检索匹配的单元格数据及其关联的批注,如下图所示?如果是这样,下面提供的用户自定义函数可以帮助您完成此任务。

步骤1:将代码复制到模块中

按住"ALT" + "F11"键以打开"Microsoft Visual Basic for Applications"窗口。 点击"插入" > "模块",然后将以下代码复制并粘贴到"模块"窗口中。VBA代码:VLOOKUP并返回带有单元格批注的匹配值: Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant

'Updateby Extendoffice

Application.Volatile

Dim xRet As Variant 'could be an error

Dim xCell As Range

xRet = Application.Match(LookVal, FTable.Columns(1), FType)

If IsError(xRet) Then

VlookupComment = "Not Found"

Else

Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)

VlookupComment = xCell.Value

With Application.Caller

If Not .Comment Is Nothing Then

.Comment.Delete

End If

If Not xCell.Comment Is Nothing Then

.AddComment xCell.Comment.Text

End If

End With

End If

End Function 然后保存并关闭代码窗口。 步骤2:输入公式以获取结果

现在,输入以下公式,并拖动填充柄以将此公式复制到其他单元格。它将同时返回匹配的值和批注,见截图: =vlookupcomment(D2,$A$2:$B$9,2,FALSE) 注意:在上述公式中:

"D2"是您要返回其相应值的查找值; "A2:B9"是您要使用的数据表; "2"是您要返回匹配值的列号; "FALSE"表示获取精确匹配。 4.4 将数字存储为文本的VLOOKUP例如,我有一个数据范围,其中原始表格中的ID号是数字格式,而查找单元格中的ID号存储为文本,使用普通的VLOOKUP函数时,您可能会遇到#N/A错误。在这种情况下,为了检索正确的信息,您可以在VLOOKUP函数中包含TEXT和VALUE函数。以下是实现此目的的公式:

步骤1:应用并填充以下公式

请将以下公式应用到一个空白单元格中,然后向下拖动填充柄以复制此公式。

=IFERROR(VLOOKUP(VALUE(D2),$A$2:$B$8,2,0),VLOOKUP(TEXT(D2,0),$A$2:$B$8,2,0)) 结果:

现在,您将获得如下图所示的正确结果:

注意:

在上述公式中:

"D2"是您要返回其相应值的查找值; "A2:B8"是您要使用的数据表; "2"是您要返回匹配值的列号; "0"表示获取精确匹配。 如果您不确定在哪里有数字和文本,此公式也能很好地工作。 最佳 Office 办公效率工具 🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 |生成代码|创建自定义公式|分析数据并生成图表|调用 Kutools Functions… 热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)... 高级 LOOKUP:多条件查找 (VLookup)|多值查找 (VLookup)|多表查找 (VLookup Across Multiple Sheets)|模糊查找 (Fuzzy Lookup)... 高级下拉列表:快速创建下拉列表|依赖型下拉列表|多选下拉列表... 列管理器:添加指定数量的列 |移动列 |切换隐藏列的可见状态| 比较区域及列... 特色功能:网格聚焦|设计视图|增强编辑栏|工作簿 & 工作表管理器|资源库(自动文本)|日期提取|合并数据|加密/解密单元格|按列表发送电子邮件|超级筛选|特殊筛选(筛选粗体/倾斜/删除线等)... 热门15 大工具集:12 款文本工具(添加文本、删除特定字符等)|50+ 种图表 类型(甘特图等)|40+ 实用公式(基于生日计算年龄等)|19 款插入工具(插入二维码、按路径插入图片等)|12 种转换工具(小写金额转大写、汇率转换等)|7 款合并与分割工具(高级合并行、分割单元格等)|...更多精彩等你发现 使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...

查看更多 Kutools for Excel详细信息... 免费下载... Office Tab 为 Office 带来标签式界面,让你的工作更加轻松 在 Word、Excel、PowerPoint 启用标签式编辑和阅读 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。 办公效率提升50%,每天帮你减少上百次鼠标点击! 查看更多 Office Tab详细信息... 免费下载...

相关推荐

合作伙伴