当前位置:首页 > 问答 > 正文

Excel文本提取利器:小鱼教你MID函数的实用技巧与案例

📊 Excel里处理文本,有时候真的让人头大……尤其是当一长串数据堆在一起,你却只想抽出中间某几个字的时候,之前我经常用“左截右删”大法,或者疯狂分列,直到后来被同事笑:“你咋不用MID啊?” 我才恍然大悟——原来Excel还藏着这么一把低调的利器!

说实话,MID函数我一开始根本没放在心上。🤔 它长得太简单了,就三个参数:=MID(文本, 开始位置, 字符数),看起来就像“从哪开始、取几个字”而已嘛,但用着用着才发现——它真正的威力根本不在“单独使用”,而是和FIND、LEN这些函数搭在一起干活的时候!


🔍 举个我自己的翻车案例:

之前公司导出一批用户数据,姓名和手机号全部挤在同一个单元格里,像这样:
“张三13812341234”
而我只需要手机号……

一开始我傻乎乎手动复制,30行之后我就崩溃了,后来突然想起MID是不是可以试试?但问题来了:每个人名字长度不一样,有的两个字有的三个字,我怎么知道“从第几位”开始取?

这时候FIND函数来救场了!✨
我发现所有人的手机号都是“1”开头,而姓名中基本没有1,所以我就写:
=MID(A2, FIND("1", A2), 11)

意思是:先找到“1”在字符串中的位置,从那里开始取11位。
结果——完美提取!🥳 那一刻我感觉自己像发现了新大陆。


😅 但现实没那么理想…

后来发现有人叫“李一鸣”……名字里带1?!结果FIND(“1”)定位到名字里那个“一”了,取出来的手机号少一位……大翻车!🙃

所以我又改进了一下:手机号前面其实都有一个空格(不过被系统trim掉了),但有些人没有写空格……我真是服了,最后我用了这种写法:

=MID(A2, LEN(A2)-10, 11)

假设手机号都是11位,那我直接从字符串倒数第11位开始取!管你名字多长,我从后面往前算总行了吧?

结果——成功!🎉 不过前提是,手机号必须统一长度,不然也会出错……


💡 我总结出的MID实用套路:

  • 搭配FIND:适合有明确分隔符的文本,省-市-区”提取市的部分;
  • 搭配LEN+RIGHT/LEFT:适合从末尾倒取内容,比如提取文件名后缀;
  • 数组公式老进阶玩法:比如一次性提取字符串中所有数字……那个我还在学,每次都要按Ctrl+Shift+Enter,搞得我像在拆炸弹💣。

🙌 所以你说MID函数简单吗?表面上是的,但用起来真的会踩很多坑……也要动不少脑筋,但它让我明白一件事:Excel函数的强大,不在于背多少公式,而在于你怎么组合它们——就像乐高一样,就那么几块积木,但能拼出整个世界。

如果你也在为文本提取发愁,不妨从MID开始试试,不一定最优雅,但真的很实用,而且每次搞定了之前翻车的提取问题,就有一种“我真厉害”的错觉哈哈~(然后下次继续踩新坑😌)

Excel文本提取利器:小鱼教你MID函数的实用技巧与案例