0

0

Excel VLOOKUP函数通配符使用方法,轻松实现模糊搜索【高级技巧】

星降

星降

发布时间:2025-12-30 14:00:52

|

816人浏览过

|

来源于php中文网

原创

Excel中VLOOKUP模糊匹配需用通配符:匹配任意长字符(如"销售")、?匹配单个字符(如"A?C??”),含*或?字面匹配须加~转义;更灵活方案可用INDEX-MATCH+SEARCH或FILTER函数实现。

excel vlookup函数通配符使用方法,轻松实现模糊搜索【高级技巧】 - php中文网

如果您在Excel中使用VLOOKUP函数查找不完全匹配的文本,例如部分关键词、前缀或包含关系,则需借助通配符实现模糊匹配。以下是几种可靠且可直接应用的通配符组合方式:

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

一、使用星号(*)匹配任意长度字符

星号 * 可代表零个或多个任意字符,适用于查找以某字符串开头、结尾或包含某子串的记录。该方法要求VLOOKUP第三参数为TRUE或省略,并确保查找列已升序排列(若启用近似匹配);但配合通配符时,必须强制使用精确匹配模式(即第四参数设为FALSE),否则通配符无效。

1、在目标单元格输入公式:=VLOOKUP("销售*"&A2&"*",Sheet2!A:B,2,FALSE)。

2、将"销售*"替换为实际前缀,A2为待匹配关键词单元格。

3、确认公式后按Enter,结果将返回首个符合“销售+关键词+任意后续字符”模式的对应值。

4、如需匹配中间含关键词的条目,改用"*"&A2&"*"结构。

二、使用问号(?)匹配单个任意字符

问号 ? 仅替代一个位置上的任意单个字符,适用于固定长度且仅个别字符不确定的情形,例如统一编号中某位为变量数字或字母。此方式同样依赖精确匹配(第四参数为FALSE),且不改变原始数据排序要求。

1、编写公式:=VLOOKUP("A?C??",Sheet2!A:B,2,FALSE)。

2、其中"A?C??"表示首字符为A、第二位任意、第三位为C、第四第五位均任意的5位字符串。

3、若待查字段长度未知,不可单独使用?,须与*组合,如"A?C*"。

4、公式中所有?必须严格对应目标字符串的实际占位数,多一个或少一个均导致无匹配结果。

三、转义通配符本身进行字面匹配

当需查找真实包含*或?的文本(如产品编码含星号),必须对通配符加前导波浪号~进行转义,否则Excel会将其识别为通配功能而非普通字符。此操作确保VLOOKUP执行纯字符比对,不触发模糊逻辑。

1、输入公式:=VLOOKUP("ABC~*",Sheet2!A:B,2,FALSE)。

Dora
Dora

创建令人惊叹的3D动画网站,无需编写一行代码。

下载

2、此处~*表示字面意义的星号,而非通配含义。

3、同理,查找问号应写作"ABC~?",查找波浪号则写作"ABC~~"。

4、若待查内容来自单元格B2,公式应写为:=VLOOKUP(SUBSTITUTE(SUBSTITUTE(B2,"*","~*"),"?", "~?"),Sheet2!A:B,2,FALSE)。

四、结合SEARCH与INDEX-MATCH替代VLOOKUP实现更灵活模糊匹配

VLOOKUP本身不支持正则或复杂模式匹配,但通过INDEX与MATCH嵌套SEARCH函数,可突破左侧查找限制并实现子串存在性判定。该方案无需排序,不依赖通配符语法,适配含空格、特殊符号的混合文本。

1、输入公式:=INDEX(Sheet2!B:B,MATCH(TRUE,ISNUMBER(SEARCH(A2,Sheet2!A:A)),0))。

2、按Ctrl+Shift+Enter(Windows)或Cmd+Shift+Enter(Mac)完成数组公式的录入。

3、A2为关键词,Sheet2!A:A为被搜索列,Sheet2!B:B为返回列。

4、SEARCH函数区分大小写,如需忽略大小写,可改用FIND函数并配合LOWER统一转换。

五、使用FILTER函数(Excel 365 / Excel 2021)批量返回所有匹配项

FILTER函数天然支持布尔数组筛选,配合ISNUMBER与SEARCH可一次性列出所有含指定关键词的行,彻底摆脱VLOOKUP单值返回限制。此方法无需辅助列,响应实时,且自动适应动态数组溢出行为。

1、输入公式:=FILTER(Sheet2!A:B,ISNUMBER(SEARCH(A2,Sheet2!A:A)),"未找到")。

2、A2为搜索关键词,Sheet2!A:B为源数据区域,第三参数为未匹配时显示内容。

3、若需限定仅返回列B,可写为:=FILTER(Sheet2!B:B,ISNUMBER(SEARCH(A2,Sheet2!A:A)))。

4、公式结果将自动向下扩展,显示所有符合条件的值,无需手动填充或按数组快捷键

相关专题

更多
js 字符串转数组
js 字符串转数组

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

247

2023.08.03

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

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

205

2023.09.04

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

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

1434

2023.10.24

字符串介绍
字符串介绍

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

609

2023.11.24

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

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

546

2024.03.22

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

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

539

2024.04.29

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

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

157

2025.07.29

c++字符串相关教程
c++字符串相关教程

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

77

2025.08.07

JavaScript 性能优化与前端调优
JavaScript 性能优化与前端调优

本专题系统讲解 JavaScript 性能优化的核心技术,涵盖页面加载优化、异步编程、内存管理、事件代理、代码分割、懒加载、浏览器缓存机制等。通过多个实际项目示例,帮助开发者掌握 如何通过前端调优提升网站性能,减少加载时间,提高用户体验与页面响应速度。

3

2025.12.30

热门下载

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

精品课程

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

共162课时 | 10万人学习

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

共28课时 | 2.4万人学习

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

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