如何在Power Query或Excel中移除产品名前缀的数字、点和空格
移除产品名称开头的数字+句点+空格前缀方案
Excel 解决方案
方法1:REGEXREPLACE函数(适用于Excel 365/2021及以上版本)
用正则精准匹配开头的前缀并移除,公式如下:
=REGEXREPLACE(A2,"^\d+\.\s","")
- 正则说明:
^锁定文本开头,\d+匹配1个或多个数字,\.匹配英文句点,\s匹配空格,将这段前缀替换为空字符串即可。无数字前缀的名称会直接保留原样。
方法2:兼容旧版Excel的公式组合
若你的Excel版本不支持REGEXREPLACE,可使用FIND+MID组合实现:
=IF(ISNUMBER(SEARCH(". ",A2,1)),MID(A2,SEARCH(". ",A2)+2,LEN(A2)),A2)
- 逻辑:先查找
.(句点+空格)的位置,若存在则从该位置后两位开始截取文本;若不存在则直接返回原名称。
Power Query 解决方案
自定义正则替换列
- 将数据导入Power Query编辑器
- 点击「添加列」→「自定义列」,输入以下M语言公式:
=Text.Replace([产品名称], "^(\d+\.\s)", "", [Regex=true])
- 确认后即可得到移除前缀的产品名称,最后关闭并上载数据到Excel。
非正则拆分截取思路
如果不想用正则,也可以通过拆分文本实现:
=let splitText = Text.Split([产品名称], ". "), result = if List.Count(splitText)>1 then List.Range(splitText,1) else splitText in Text.Combine(result, ". ")
- 逻辑:按
.拆分文本,若拆分后有多个元素,则取除第一个元素外的部分重新组合;若只有一个元素则直接返回原文本。
内容的提问来源于stack exchange,提问作者Rares-Andrei Panait
相关产品推荐
相关产品推荐

