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

如图所示,C列的内容,我已经纯数字的筛选出来,想将C列中数字后面的部分显示在E列,求大神帮忙,谢谢!... 如图所示,C列的内容,我已经纯数字的筛选出来,想将C列中数字后面的部分显示在E列,求大神帮忙,谢谢! 展开
 我来答
zl998100
2014-12-09 · TA获得超过730个赞
知道小有建树答主
回答量:1067
采纳率:50%
帮助的人:1037万
展开全部

自己建立     自定义函数 ,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
追问
看不懂
追答
浪费表情
EXCEL办公实战
2014-12-08 · Excel办公实战函数、技巧、VBA教程
EXCEL办公实战
采纳数:2380 获赞数:23625

向TA提问 私信TA
展开全部
复制到word里利用通配符,处理完复制过来即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caoyidiego
2014-12-08 · TA获得超过1286个赞
知道大有可为答主
回答量:1937
采纳率:0%
帮助的人:1389万
展开全部
'=-LOOKUP(,-LEFT(C2,(ROW(1:100))))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ruowuzhi
2014-12-08 · TA获得超过3263个赞
知道大有可为答主
回答量:1593
采纳率:33%
帮助的人:546万
展开全部
=RIGHT(C2,LEN(C2)-LEN(D2))
追问
谢谢谢谢,如果可以再解释一下就更棒了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无线通信数据分享
2014-12-08 · TA获得超过5206个赞
知道小有建树答主
回答量:1220
采纳率:50%
帮助的人:320万
展开全部
选中C列,ALT + A 完了再点 E。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式