在实际工作中,我们常常需要从混杂的文本中提取出有规律的字符串,例如产品编码、订单号或特定标识。手动处理不仅效率低下,还容易出错。本文将借助 Excel 函数,教你如何自动、精准地提取目标字符。
假设我们有以下产品描述信息,需要提取出“产品编码”部分:

此示例中,目标提取结果有以下两个规律:
要提取的结果后缀都是 “-00X”; 其后紧跟 “空格 + XX + 空格”;
下面介绍两种基于这些规律的提取方法。
方法一:基于“-00X”定位提取
=LEFT(A2,SEARCH("-00?",A2)+3)思路解析:
使用 SEARCH 函数查找模式 -00?,其中 ? 代表一个任意字符,匹配如 -001、-002 等结构; 找到该模式起始位置后,用 LEFT 函数截取至该模式末尾(即位置 +3)。
方法二:基于“空格+两位数字+空格”定位提取
=LEFT(A2,SEARCH(" ?? ",A2)-1)思路解析:
使用 SEARCH 匹配格式为“空格 + 两个任意字符 + 空格”的结构,即定位到编码后的两位数字; 提取该位置之前的所有字符,即得到目标编码。

方法对比与应用场景
拓展:按空格分段提取
若需按空格分段提取,可使用 FIND 或 SEARCH 嵌套实现:
1、提取第一段:
=LEFT(A2,FIND(" ",A2)-1)=LEFT(A2,SEARCH(" ",A2)-1)
=LEFT(A2,FIND(" ",A2,FIND(" ",A2)+1)-1)=LEFT(A2,FIND(" ",A2,FIND(" ",A2,FIND(" ",A2)+1)+1)-1)
掌握通配符,提升文本处理能力
Excel中常用的通配符主要有以下三个:
? | "A?"匹配 "A1", "AX" | |
* | "A*"匹配 "A", "A123", "ABC" | |
~ | "~?"匹配 "?" |
常用组合示例
=COUNTIF(A:A, "A*") // 统计以A开头的单元格数量=SUMIF(B:B, "2024", C:C) // 对B列包含"2024"的行求和C列=SEARCH("??-???", A1) // 查找"两个字符-三个字符"的模式=VLOOKUP("-001", A:B, 2, FALSE) // 查找以"-001"结尾的值
注意事项
FIND 函数不支持通配符,只有 SEARCH 函数支持 通配符在 COUNTIF、SUMIF、VLOOKUP、MATCH 等函数中都有效 如果需要查找通配符本身,记得用 ~ 转义
总结
通过灵活组合 SEARCH、LEFT 与通配符,我们可以轻松应对大多数文本提取需求,大幅提升数据处理效率。建议根据实际文本结构选择合适的公式,并善用通配符进行模式匹配。
本文示例下载:
https://pan.baidu.com/s/1xmC0K0ur_m0o0alELHhSlw?pwd=52XY
夜雨聆风