跳至主要内容

基于一个或多个条件的Vlookup并返回多个值

Author: Xiaoyang Last Modified: 2025-05-07
vlookup and return multiple values

通常,您可以使用Vlookup函数获取第一个对应的值,但有时您希望根据特定条件返回所有匹配的记录。本文将介绍如何通过vlookup垂直、水平或合并到一个单元格中返回所有匹配值。

Vlookup并垂直返回所有对应值

Vlookup并水平返回所有对应值

Vlookup并将所有对应值返回到一个单元格中


Vlookup并垂直返回所有对应值

要根据特定条件垂直返回所有匹配值,请应用以下数组公式:

1. 在您希望输出结果的空白单元格中输入或复制此公式:

=IFERROR(INDEX($C$2:$C$20, SMALL(IF($E$2=$A$2:$A$20, ROW($A$2:$A$20)-ROW($A$2)+1), ROW(1:1))),"" )

注意:在上述公式中,C 2:C20 是包含您希望返回的匹配记录的列;A2:A20是包含条件的列;E2是您希望基于其返回值的具体条件。请根据需要进行更改。

2. 然后,同时按下 Ctrl + Shift + Enter 键以获取第一个值,然后向下拖动填充柄以获取所有相应的记录,如下截图所示:

 return all matching values vertically based on a specific criterion

提示:

要基于更具体的值垂直Vlookup并返回所有匹配值,请应用以下公式,并按 Ctrl + Shift + Enter 键。

=IFERROR(INDEX($C$2:$C$20, SMALL(IF(1=((--($E$2=$A$2:$A$20))*(--($F$2=$B$2:$B$20))), ROW($A$2:$A$20)-ROW($A$2)+1), ROW(1:1))),"" )

 Vlookup and return all matching values based on more specific values vertically

a screenshot of kutools for excel ai

使用 Kutools AI 解锁 Excel 魔法

  • 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
  • 自定义公式:生成量身定制的公式,优化您的工作流程。
  • VBA 编码:轻松编写和实现 VBA 代码。
  • 公式解释:轻松理解复杂公式。
  • 文本翻译:打破电子表格中的语言障碍。
通过人工智能驱动的工具增强您的 Excel 能力。立即下载,体验前所未有的高效!

Vlookup并水平返回所有对应值

如果您希望匹配值以水平顺序显示,以下数组公式可以帮助您。

1. 在您希望输出结果的空白单元格中输入或复制此公式:

=IFERROR(INDEX($C$2:$C$20,SMALL(IF($F$1=$A$2:$A$20,ROW($A$2:$A$20)-ROW($A$2)+1),COLUMN(A1))),"")

注意:在上述公式中,C2:C20是包含您希望返回的匹配记录的列;A2:A20是包含条件的列;F1是您希望基于其返回值的具体条件。请根据需要进行更改。

2. 然后,同时按下 Ctrl + Shift + Enter 键以获取第一个值,然后向右拖动填充柄以获取所有相应的记录,如下截图所示:

Vlookup and return all corresponding values horizontally by one condition

提示:

要基于更具体的值水平Vlookup并返回所有匹配值,请应用以下公式,并按 Ctrl + Shift + Enter 键。

=IFERROR(INDEX($C$2:$C$20,SMALL(IF(1=((--($F$1=$A$2:$A$20))*(--($F$2=$B$2:$B$20))),ROW($A$2:$A$20)-ROW($A$2)+1),COLUMN(A1))),"")

 Vlookup and return all corresponding values horizontally by multiple criteria


Vlookup并将所有对应值返回到一个单元格中

要将vlookup的所有对应值返回到单个单元格中,应应用以下数组公式。

1. 在空白单元格中输入或复制以下公式:

=TEXTJOIN(", ",TRUE,IF($A$2:$A$20=F1,$C$2:$C$20,""))

注意:在上述公式中,C2:C20是包含您希望返回的匹配记录的列;A2:A20是包含条件的列;F1是您希望基于其返回值的具体条件。请根据需要进行更改。

2. 然后,同时按下 Ctrl + Shift + Enter 键以将所有匹配值返回到一个单元格中,如下截图所示:

vlookup and return all corresponding values into a single cell by one condition

提示:

要基于更具体的值在一个单元格中Vlookup并返回所有匹配值,请应用以下公式,并按 Ctrl + Shift + Enter 键。

=TEXTJOIN(", ",TRUE,IF(($A$2:$A$20=F1)*($B$2:$B$20=F2),$C$2:$C$20,""))

 vlookup and return all corresponding values into a single cell by multiple criteria

注意:此公式仅在Excel 2016及更高版本中成功应用。如果您没有Excel 2016,请 点击这里查看解决方案。

更多相关的Vlookup文章:

  • Vlookup并从下拉列表返回多个值
  • 在Excel中,如何通过下拉列表vlookup并返回多个对应的值,这意味着当您从下拉列表中选择一个项目时,所有与其相关的值都会立即显示出来,如下面的屏幕截图所示。本文将逐步介绍解决方案。
  • 在Excel中Vlookup返回空白而不是0或N/A
  • 通常,当您应用vlookup函数返回相应的值时,如果您的匹配单元格为空,它将返回0,如果未找到匹配值,则会得到错误#N/A值。为了避免显示0或#N/A值,如何使其显示空白单元格?
  • Vlookup从Excel表中返回多列
  • 在Excel工作表中,您可以应用Vlookup函数从一列中返回匹配值。但是,有时您可能需要从多列中提取匹配值,如下面的屏幕截图所示。如何使用Vlookup函数同时从多列中获取相应的值?
  • 跨多个工作表Vlookup值
  • 在Excel中,我们可以轻松地应用vlookup函数返回单个工作表中的匹配值。但是,您是否考虑过如何跨多个工作表vlookup值?假设我有以下三个带有数据范围的工作表,现在我想根据这些三个工作表中的标准获取部分对应的值。

  • 超级公式栏(轻松编辑多行文本和公式);阅读布局(轻松读取和编辑大量单元格);粘贴到筛选区域...
  • 合并单元格/行/列并保留数据;拆分单元格内容;合并重复行并求和/平均值... 防止重复单元格;比较区域...
  • 选择重复或唯一行选择空白行(所有单元格为空);在多个工作簿中进行超级查找和模糊查找;随机选择...
  • 精准复制多个单元格而不改变公式引用;自动创建对多个工作表的引用;插入项目符号、复选框等...
  • 收藏并快速插入公式、区域、图表和图片;用密码加密单元格创建邮件列表并发送电子邮件...
  • 提取文本,添加文本,按位置删除,删除空格;创建并打印分页小计;在单元格内容和批注之间转换...
  • 超级筛选(保存并应用筛选方案到其他工作表);按月/周/日高级排序,频率等;按粗体、斜体特殊筛选...
  • 合并工作簿和工作表;基于关键列汇总表格;将数据分割到多个工作表批量转换 xls、xlsx 和 PDF...
  • 数据透视表按周数、星期几等分组... 用不同颜色显示未锁定、已锁定单元格高亮显示包含公式的单元格/名称...
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中。
  • 将您的生产力提高 50%,每天为您减少数百次鼠标点击!
officetab bottom