用excel的mid函数提取单元格里的关键信息,公式格式是 =mid(文本所在单元格,开始位置,提取字符数)。举个例子,单元格内容是“订单号:1001”,要把后面的1001单独提出来,先数清楚数字是从第几个字符开始的,就能写出类似 =mid(a2,5,4) 这样的公式。
MID特别适合处理各类编号、身份证片段、订单号、批次号这类带固定前缀的文本。这个函数本身一点都不复杂,用对的核心就是先数准你要的内容从第几个字符开始,总共要取几个字符。
第一步:确认要提取的字符位置
先摸清楚原始文本的规律。还是拿“订单号:1001”举例,“订、单、号、:”这四个内容占了前4个字符,我们要的1001从第5位开始,所以把起始位置设成5就准;要是你表格里用的是英文冒号,或者中间多了空格,起始位置要跟着实际情况调整。

第二步:输入 MID 函数的三个参数
在用来放结果的列里输入MID公式就行。第一个参数填原始文本所在的单元格,第二个是你算好的起始提取位置,第三个是要提取的字符长度。Excel弹出的函数提示里写的“字符串、开始位置、字符个数”,刚好对应这三个参数,输入的时候别漏了逗号和括号。

第三步:用 LEN 配合 MID 处理长度不固定的文本
要是你只想删掉每个单元格开头的固定位数前缀,完全可以把MID和LEN搭配着用。公式 =MID(A1,2,LEN(A1)-1) 的作用是:从A1单元格的第2位字符开始取,一直取到这段文本的最后一位。哪怕每行的文本总长度不一样,也不用挨个算要提取多少位。
本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看

第四步:向下填充并检查结果
第一行公式算出正确结果之后,点住单元格右下角的填充柄往下拖,把公式批量复制到其他行。扫一眼结果列,确认所有内容都去掉了多余前缀,留的都是需要的信息。要是有几行结果错位,一般是这几行的前缀长度和其他行不一样,别硬凑参数,先用FIND或者SEARCH函数定位到分隔符的位置,再传给MID来提取就好。

MID 函数容易出错的地方
MID用错大多是细节没注意:起始位置差1位,结果就会多带个多余符号,或者少一位数字;提取字符数设得太短,关键信息会被截断;如果原始文本里藏了多余空格,可以先用TRIM函数清理干净。要是表格里“订单号:1001”和“订单编号-1002”这类格式混在一起,千万别硬套同一个起始位置,要么先把所有文本格式统一,要么先用FIND函数定位到冒号、短横线的位置,再做后续提取。
要是提取出来的编号需要后续参与数值计算,要注意MID直接输出的结果是文本格式。想转成数字的话,直接在公式最外层套个 VALUE 就行,比如 =VALUE(MID(A2,5,4))。如果只是用来做编号、订单号、工号的匹配,保留文本格式反而更稳妥,不会把前面的前导0弄丢。










