夜雨聆风学习资料网

ARTICLE · 1316246

[excel实战]文件名多级小数点拆分,一个Excel公式搞定档案编码分组

[excel实战]文件名多级小数点拆分,一个Excel公式搞定档案编码分组

适合资料、报文清单整理,运维/财务岗高频场景

很多做报文、资料管理的朋友,都会遇到一类命名:编码自带多层小数点。 比如这种: W-YYY1003.XMLD-D241101.01.01

需求很明确:

  • B列:去掉最后一段序号,得到上级分组编码 W-YYY1003.XMLD-D241101.01
  • C列:单独提取末尾序号 01

几百上千条清单,如果手动复制剪切,效率极低,还容易出错。

先看效果

A列(原始编码)
B列(分组编码)
C列(末尾序号)
W-YYY1003.XMLD-D241101.01.01
W-YYY1003.XMLD-D241101.01
01
W-YYY1003.XMLD-D241101.01.02
W-YYY1003.XMLD-D241101.01
02
W-YYY1003.XMLD-D241101.02.01
W-YYY1003.XMLD-D241101.02
01

方案一:新版WPS / Microsoft 365(最简推荐)

✅ C列,提取最后一个小数点后面的序号

=TEXTAFTER(A1,".",-1)

-1 代表取最后一次出现的小数点,向后截取文本。

✅ B列,剔除最后一段,保留前面分组编码

=TEXTBEFORE(A1,".",-1)

两行公式,下拉直接完成全部拆分,干净简洁,没有嵌套绕弯。

方案二:老版本Excel兼容版(无TEXTBEFORE/TEXTAFTER)

旧版没有这两个新函数,就用这套经典嵌套公式,是老Excel环境下的标准写法: ✅ 提取末尾序号(C1)

=RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1,".","@",LEN(A1)-LEN(SUBSTITUTE(A1,".","")))))

✅ 提取前面分组编码(B1)

=LEFT(A1,FIND("@",SUBSTITUTE(A1,".","@",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))-1)

原理说明:先把最后一个小数点替换成@,再用FIND定位@的位置,最后截取。 缺点:长、可读性差,适合无法升级Office的内网、老旧办公电脑。

延伸场景

这套公式不止用于报文编码,下面这些场景通用:

  1. 多级版本文件名:方案V2.1.0.docx → 拆分主版本、小版本号
  2. 带小数点的设备编号、测点编码
  3. 批量导出文件清单,用于BAT/Python批量归类、建文件夹、重命名

配套联动:拆分好编码之后,就可以直接作为分组关键字,配合之前分享的BAT批量改名、PDF页数提取脚本,打通整套档案自动化流程。

踩坑提醒

  1. 编码末尾不能多余小数点,否则会出现空值;
  2. 内网老Excel优先用方案二;WPS、365直接上新函数;
  3. 公式下拉前,先拿2、3行样本测试核对结果。

为了能随时获取最新动态,大家可以动动小手将公众号添加到“星标⭐”哦,点赞 + 关注,用时不迷路!!!!

关注公众号:IT小本本 👇

用时不迷路!!

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料