如何在Excel中的一个单元格中通过vlookup返回多个值?
通常,在Excel中,当您使用VLOOKUP函数时,如果有多个值与条件匹配,则只需获取第一个即可。 但是,有时,您希望将符合条件的所有相应值返回到一个单元格中,如下面的屏幕截图所示,如何解决呢?
Vlookup使用TEXTJOIN函数将多个值返回到一个单元格中(Excel 2019和Office 365)
Vlookup使用TEXTJOIN函数将多个值返回到一个单元格中(Excel 2019和Office 365)
如果您拥有较高版本的Excel(例如Excel 2019和Office 365),则有一个新功能- 文字加入,借助这一强大的功能,您可以快速进行vlookup并将所有匹配的值返回到一个单元格中。
Vlookup将所有匹配的值返回到一个单元格
请将以下公式应用于要放入结果的空白单元格,然后按 Ctrl + Shift + Enter 键一起获得第一个结果,然后将填充手柄向下拖动到要使用此公式的单元格,您将获得所有对应的值,如下图所示:
Vlookup将所有没有重复的匹配值返回到一个单元格
如果要基于查找数据返回所有匹配值而不重复,则以下公式可能会对您有所帮助。
请复制以下公式并将其粘贴到空白单元格中,然后按 Ctrl + Shift + Enter 键在一起以获得第一个结果,然后复制此公式以填充其他单元格,您将获得所有对应的值,而无需使用重复的值,如下面的屏幕截图所示:
Vlookup使用用户定义的函数将多个值返回到一个单元格
上面的TEXTJOIN函数仅适用于Excel 2019和Office 365,如果您具有其他较低的Excel版本,则应使用一些代码来完成此任务。
Vlookup将所有匹配的值返回到一个单元格
1。 按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。
2。 点击 插页 > 模块,然后将以下代码粘贴到 模块窗口.
VBA代码:Vlookup将多个值返回到一个单元格
Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
End If
Next i
If xResult <> "" Then
xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function
3。 然后保存并关闭此代码,返回到工作表,然后输入以下公式: =CONCATENATEIF($A$2:$A$11, E2, $C$2:$C$11, ", ") 放入要放置结果的特定空白单元格中,然后向下拖动填充手柄以在所需的一个单元格中获取所有对应的值,请参见屏幕截图:
Vlookup将所有没有重复的匹配值返回到一个单元格
要忽略返回的匹配值中的重复项,请使用以下代码。
1。 按住 Alt + F11键 键打开 Microsoft Visual Basic应用程序 窗口。
2。 点击 插页 > 模块,然后将以下代码粘贴到 模块窗口.
VBA代码:Vlookup并将多个唯一匹配的值返回到一个单元格中
Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
'Updateby Extendoffice
Dim xDic As New Dictionary
Dim xRows As Long
Dim xStr As String
Dim i As Long
On Error Resume Next
xRows = LookupRange.Rows.Count
For i = 1 To xRows
If LookupRange.Columns(1).Cells(i).Value = Lookupvalue Then
xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value, ""
End If
Next
xStr = ""
MultipleLookupNoRept = xStr
If xDic.Count > 0 Then
For i = 0 To xDic.Count - 1
xStr = xStr & xDic.Keys(i) & ","
Next
MultipleLookupNoRept = Left(xStr, Len(xStr) - 1)
End If
End Function
3。 插入代码后,然后单击 工具 > 参考资料 在打开 Microsoft Visual Basic应用程序 窗口,然后在弹出 参考– VBAProject 对话框,检查 Microsoft脚本运行时 在选项 可用参考 列表框,请参阅屏幕截图:
4。 然后点击 OK 关闭对话框,保存并关闭代码窗口,返回到工作表,然后输入以下公式: =MultipleLookupNoRept(E2,$A$2:$C$11,3) into a blank cell where you want to output the result, and then drag the fill hanlde down to get all matching values, see screenshot:
Vlookup通过有用的功能将多个值返回到一个单元格
如果您有我们的 Kutools for Excel,其 高级组合行 功能,您可以根据相同的值快速合并或合并行,并根据需要进行一些计算。
安装后 Kutools for Excel,请执行以下操作:
1。 选择要根据另一列合并一个列数据的数据范围。
2。 点击 库工具 > 合并与拆分 > 高级组合行,请参见屏幕截图:
3。 在弹出 高级组合行 对话框:
- 单击要基于其组合的键列名称,然后单击 首要的关键
- 然后单击要基于键列合并其数据的另一列,然后单击 结合 选择一个分隔符以分隔组合数据。
4. 然后点击 OK 按钮,您将获得以下结果:
更多相关文章:
- VLOOKUP函数以及一些基本和高级示例
- 在Excel中,VLOOKUP函数对于大多数Excel用户而言是一项功能强大的函数,用于在数据范围的最左侧查找值,并在您指定的列的同一行中返回匹配值。 本教程通过Excel中的一些基本示例和高级示例讨论如何使用VLOOKUP函数。
- 根据一个或多个条件返回多个匹配值
- 通常,使用VLOOKUP函数对我们大多数人来说查找特定值并返回匹配项很容易。 但是,您是否曾经尝试过根据一个或多个条件返回多个匹配值? 在本文中,我将介绍一些解决Excel中复杂任务的公式。
- Vlookup并垂直返回多个值
- 通常,您可以使用Vlookup函数来获取第一个对应的值,但是有时您希望基于特定条件返回所有匹配的记录。 本文,我将讨论如何进行vlookup并将所有匹配值垂直,水平或返回到单个单元格中。
- Vlookup并从下拉列表中返回多个值
- 在Excel中,如何从下拉列表中进行vlookup并返回多个相应的值,这意味着当您从下拉列表中选择一项时,它的所有相对值会立即显示。 本文,我将逐步介绍解决方案。
最佳办公生产力工具
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级查询: 多条件VLookup | 多值VLookup | 跨多个工作表的 VLookup | 模糊查询 .... | |
高级下拉列表: 快速创建下拉列表 | 依赖下拉列表 | 多选下拉列表 .... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较范围和列 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符,...) | 50+ 图表 类型 (甘特图,...) | 40+ 实用 公式 (根据生日计算年龄,...) | 19 插入 工具 (插入二维码, 从路径插入图片,...) | 12 转化 工具 (小写金额转大写, 货币兑换,...) | 7 合并与拆分 工具 (高级组合行, 分裂细胞,...) | ... 和更多 |
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!