0

0

VLOOKUP如何返回所有匹配值?一个公式搞定多结果查找【高阶教程】

煙雲

煙雲

发布时间:2026-01-04 16:36:45

|

932人浏览过

|

来源于php中文网

原创

VLOOKUP无法返回多个匹配值,可用四种方法解决:一、FILTER函数(Excel 365/2021+);二、INDEX+AGGREGATE组合(全版本兼容);三、TEXTJOIN+IF数组公式(合并显示);四、辅助列+COUNTIF(传统稳定方案)。

vlookup如何返回所有匹配值?一个公式搞定多结果查找【高阶教程】 - php中文网

如果您在Excel中使用VLOOKUP函数查找某个值,但该值在数据源中出现多次,而VLOOKUP仅返回第一个匹配结果,则无法直接获取全部匹配项。以下是实现一次性返回所有匹配值的多种方法:

本文运行环境:MacBook Air M2,macOS Sequoia。

一、使用FILTER函数(Excel 365 / Excel 2021及以上)

FILTER函数专为动态数组设计,可自动筛选并返回满足条件的所有行,无需辅助列或复杂嵌套,是当前最简洁高效的多结果匹配方案。

1、确保您的数据区域已定义为结构化表格(如A2:D100),或明确指定查找列与返回列范围。

2、在目标单元格输入公式:=FILTER(返回数组, 查找列=查找值),例如:=FILTER(B2:B100,A2:A100=F2) 表示在A列中查找F2值,并返回对应B列所有匹配项。

3、若需返回多列结果(如同时返回姓名和部门),将返回数组设为多列区域,例如:=FILTER(A2:C100,A2:A100=F2)。

二、使用INDEX + AGGREGATE组合(全版本兼容)

该方法不依赖动态数组功能,适用于Excel 2010及更高版本,通过AGGREGATE函数忽略错误并逐个定位匹配行号,再由INDEX提取对应值。

1、在首个结果单元格(如G2)输入公式:=IFERROR(INDEX($B$2:$B$100,AGGREGATE(15,6,ROW($A$2:$A$100)/($A$2:$A$100=$F$2),ROW(A1))),"")

2、按Enter确认后,向下拖拽填充柄以生成后续结果;公式中ROW(A1)随行号递增,自动索引第1、第2、第3…个匹配项。

3、若需返回其他列(如C列),仅需将INDEX中的$B:$B0替换为$C:$C0,其余部分保持不变。

TTSMaker
TTSMaker

TTSMaker是一个免费的文本转语音工具,提供语音生成服务,支持多种语言。

下载

三、借助TEXTJOIN + IF数组公式(Excel 2016+,单单元格合并显示)

当只需在一个单元格内汇总所有匹配结果(用逗号分隔),而非逐行列出时,该方案可避免拖拽操作,适合报表摘要场景。

1、选中目标单元格(如G2),输入公式:=TEXTJOIN(", ",TRUE,IF($A$2:$A$100=$F$2,$B$2:$B$100,""))

2、按下 Ctrl + Shift + Enter(Windows)或 Command + Shift + Enter(macOS)以确认为数组公式;Excel 365用户可直接按Enter。

3、公式将扫描A2:A100中所有等于F2的行,并把对应B列值用顿号连接成单一字符串输出。

四、添加辅助列配合COUNTIF构建序号(传统稳定方案)

通过在原始数据旁插入辅助列,为每个重复值生成唯一序号(如“张三-1”“张三-2”),再结合VLOOKUP进行分次精确查找,逻辑清晰且易于调试。

1、在数据源右侧空白列(如E列)首行(E2)输入公式:=A2&"-"&COUNTIF($A$2:A2,A2),向下填充至数据末尾。

2、在查找区设置序号列(如H2起输入1,2,3…),并在I2输入公式:=VLOOKUP($F$2&"-"&H2,$E$2:$B$100,2,FALSE),其中$E$2:$B$100需调整为包含辅助列与目标返回列的实际区域(注意列顺序)。

3、向下拖拽I2公式,即可按序号逐个提取各匹配项;若某序号无对应结果,将返回#N/A,可用IFERROR包裹处理。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

719

2023.08.22

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

253

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

206

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1458

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

612

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

547

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

542

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

159

2025.07.29

PPT动态图表制作教程大全
PPT动态图表制作教程大全

本专题整合了PPT动态图表制作相关教程,阅读专题下面的文章了解更多详细内容。

12

2026.01.07

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 11万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号