如何将excel单元格中的数字和字母汉字分离出来?已用LEFT函数分离处数字,求分离出汉字和字母

如图所示,C列的内容,我已经纯数字的筛选出来,想将C列中数字后面的部分显示在E列,求大神帮忙,谢谢!

自己建立     自定义函数 ,alt+f11 打开VBA 编辑器  插入一个模块, 粘贴下面代码 ,在EXCEL 表里面就可以使用函数 getstr() 来提取了

参数1:选单元格

参数2: “sz” 代表数字   ,“zm” 代表字母 ,“hz”  代表 汉字,"dh" 代表 电话号码

参数3:1 代表替换,  2代表提取 ,参数3可以省略 默认 是提取

 

 

Public Function getstr(rg As String, k As String, Optional j As Integer = 1)
  Dim regx As New RegExp
  With regx
   .Global = True
   If k = "sz" Or k = "SZ" Then
   
    .Pattern = "\d" '数字
    
   ElseIf k = "hz" Or k = "HZ" Then
   
    .Pattern = "[\u4e00-\u9fa5]" ' 汉字
   ElseIf k = "zm" Or k = "ZM" Then
   
    .Pattern = "[A-z]"   '字母
    
   ElseIf k = "dh" Or k = "DH" Then
   
    .Pattern = "\d{3,4}\-\d{7,8}|\d{11}|\d{8}" '电话号码
   End If
   If j = 2 Then  '替换
   
   getstr = .Replace(rg, "")
   
   ElseIf j = 1 Then '提取
    m1 = ""
 Set mat = .Execute(rg)
  For Each m In mat
m1 = m1 & m
  Next
 getstr = m1
   End If
  End With
End Function

追问

看不懂

追答

浪费表情

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-08
复制到word里利用通配符,处理完复制过来即可
第2个回答  2014-12-08
'=-LOOKUP(,-LEFT(C2,(ROW(1:100))))
第3个回答  2014-12-08
=RIGHT(C2,LEN(C2)-LEN(D2))追问

谢谢谢谢,如果可以再解释一下就更棒了

本回答被提问者采纳
第4个回答  2014-12-08
选中C列,ALT + A 完了再点 E。
相似回答