打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
提取数字、字母、汉字方法都在这里了,Ctrl+E、Ctrl+H、PQ、VBA齐上阵

与 30万 读者一起学Excel

面试的时候规定用什么方法这个没法改变,但是学习的话可以多学几种,有备无患。

将字符串中的数字、汉字、字母分离在3个单元格。

1.快速填充

正常的快速填充,都是输入第一行内容,然后按Ctrl+E,但是这个方法不能保证100%正确。比如,字母在填充的时候出现异常。

其实还有特殊情况的快速填充,就是输入前2-3行的内容,这样可以更好的识别规律。这个小细节是以前无意间发现的。

2.Word的通配符替换

这个要借助Word,将内容复制到Word。

按Ctrl+H,查找内容[!0-9],勾选使用通配符,点全部替换。

这样就只剩下数字,再复制回Excel。

汉字的话,就用[!一-龟]。

字母的话,就用[!A-Za-z]。

Word的这种用法Excel查找和替换没法直接用,但却可以用在PQ或者VBA中。

3.PQ的Text.Select或Text.Remove()

里面的标点符号都是英文状态下输入,注意大小写必须一致。以提取汉字为例,用法跟Word中一样。

详见文章,就不再说明。

高级替换真好用,一次替换多个不同内容无烦恼,让替换变得随心所欲

4.VBA的自定义函数

插入模块,在里面输入代码。

Function RegExpTest(patrn, strng, Optional ByVal fgf As String = " ")

  Dim regEx, Match, Matches         ' 建立变量。

  Set regEx = CreateObject("vbScript.regexp") 'New RegExp         ' 建立正则表达式。

  regEx.Pattern = patrn         ' 设置模式。

  regEx.IgnoreCase = True         ' 设置是否区分大小写。

  regEx.Global = True            ' 设置全局替换。

  Set Matches = regEx.Execute(strng)      ' 执行搜索。

  For Each Match In Matches         ' 遍历 Matches 集合。

    RetStr = RetStr & fgf & Match

  Next

  RegExpTest = Mid(RetStr, Len(fgf) + 1)

End Function

这样就可以调用自定义函数。

数字:

=RegExpTest("[0-9]",$A2,"")


汉字:

=RegExpTest("[一-龟]",$A2,"")

字母:

=RegExpTest("[a-zA-Z]",$A2,"")

最后,你会发现,其实后面的方法原理都一样,都是利用正则表达式。

如果是实际工作,当然选择第一种,方便快捷。这里不过是让你多学点知识而已。在实际工作,千万别死脑筋,一定要用某种方法解决,怎么简单怎么来。

推荐:不服来试!被吹上天的Ctrl+E?究竟有多厉害!| 新技巧

上篇:某公司面试财务的Excel题目,真难,没两把刷子真搞不定

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL PQ、VBA学不会,将Ctrl C用得炉火纯青也很了不起
​不规则内容提取-正则表达式
功能强大的智能填充Ctrl E,在它面前只能是小弟,真正的拆分神器
将Excel中的汉字全部转成拼音
正则表达式
第1章、excel强大的一招提取汉字、数字、字母自定义函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服