乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>用公式把数字(字母)和汉字分开-excel 数字与字母分离,exce

<em>excel</em>用公式把数字(字母)和汉字分开-excel 数字与字母分离,exce

作者:乔山办公网日期:

返回目录:excel表格制作


截取数字用公式=MID(B7,MIN(FIND(ROW($1:$10)-1,B7&5/19)),COUNT(-MID(B7,ROW($1:$105),1)))数组公式,按ctrl+shift+回车结束,B7换成实际单元格
截取其他字符串直接用zhidaosubstitute把截取出来的数字替换为空就好了
=substitute(A2,B2,"")

假设第一列是A列,则在C1列输入公式:
=LEFT(A1,LEN(A1)*2-LENB(A1))
在D1输入公式:
=RIGHT(A1,LEN(A1)-LEN(B1))
下拉

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

参数1:选单元格

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

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

 

 

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


前面几zhidao位回答你的用数据分列的方法是很快捷的。要用公式的话,可用下面的公式,如图,假设数据在A列:

B1=--TRIM(MID(SUBSTITUTE($A1,"x",REPT(" ",99)),99*COLUMN(A:A)-98,99))

右拉到D1,再一起下拉。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网