乐于分享
好东西不私藏

Excel 文本提取实战:两种高效提取字符的方法

Excel 文本提取实战:两种高效提取字符的方法

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

假设我们有以下产品描述信息,需要提取出“产品编码”部分:

此示例中,目标提取结果有以下两个规律:

  1. 要提取的结果后缀都是 “-00X”;
  2. 其后紧跟 “空格 + XX + 空格”;

下面介绍两种基于这些规律的提取方法。

方法一:基于“-00X”定位提取

=LEFT(A2,SEARCH("-00?",A2)+3)

思路解析:

  • 使用 SEARCH 函数查找模式 -00?,其中 ? 代表一个任意字符,匹配如 -001、-002 等结构;
  • 找到该模式起始位置后,用 LEFT 函数截取至该模式末尾(即位置 +3)。

方法二:基于“空格+两位数字+空格”定位提取

=LEFT(A2,SEARCH(" ?? ",A2)-1)

思路解析:

  • 使用 SEARCH 匹配格式为“空格 + 两个任意字符 + 空格”的结构,即定位到编码后的两位数字;
  • 提取该位置之前的所有字符,即得到目标编码。

方法对比与应用场景

方法
适用场景
优点
注意事项
方法一
编码结构明确,如“-001”结尾
精准、稳定
依赖“-00X”结构
方法二
编码后紧跟两位数字+空格
灵活,适用更广结构
需确保数字位数固定

拓展:按空格分段提取

若需按空格分段提取,可使用 FIND 或 SEARCH 嵌套实现:

1、提取第一段:

=LEFT(A2,FIND(" ",A2)-1)=LEFT(A2,SEARCH(" ",A2)-1)
2、提取前两段(多嵌套1个FIND):
=LEFT(A2,FIND(" ",A2,FIND(" ",A2)+1)-1)
3、提取前三段(多嵌套2个FIND):
=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, 2FALSE// 查找以"-001"结尾的值

注意事项

  • FIND 函数不支持通配符,只有 SEARCH 函数支持
  • 通配符在 COUNTIF、SUMIF、VLOOKUP、MATCH 等函数中都有效
  • 如果需要查找通配符本身,记得用 ~ 转义

总结

通过灵活组合 SEARCH、LEFT 与通配符,我们可以轻松应对大多数文本提取需求,大幅提升数据处理效率。建议根据实际文本结构选择合适的公式,并善用通配符进行模式匹配。

本文示例下载:

https://pan.baidu.com/s/1xmC0K0ur_m0o0alELHhSlw?pwd=52XY 

#字符提取  #工作效率  #FIND  #SEARCH