发布网友
共5个回答
热心网友
Excel2013版本中可以利用快速填充分离Excel中有规律的字母和数字(比如数字在前字母在后,或者字母在前数字在后)
软件版本:Office2013
方法如下:
1.将B列中的字母和数字分离:
2.现在C1中输入B1中的完整字母,然后双击填充,点击右下角的图标,选择“快速填充”:
3.就得到了全部的字母,同样的道理,可以得到全部的数字,这样就将数字和字母分离了:
热心网友
没给出具体组合形式。
假设:
1.如果A1单元格内容为:345ABCDEFG ,在B1单元格输入公式 =LOOKUP(9.99E+307,--LEFT(A1,ROW(1:20))) 提取出数字 ,在C1单元格输入公式 =SUBSTITUTE(A1,B1,"") 提取出字母;
2.如果A1单元格内容为:ABCDEFG345 ,在B1单元格输入公式 =LOOKUP(9.99E+307,--RIGHT(A1,ROW(1:20))) 提取出数字 ,在C1单元格输入公式 =SUBSTITUTE(A1,B1,"") 提取出字母.
热心网友
提取数字,在b1输入:
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"01234567")),65536)
提取字母,在c1输入:
=LEFT(A1,LEN(A1)-LEN(B1))
提取汉字:
=LEFT(SUBSTITUTE(A1," ",),LENB(SUBSTITUTE(A1," ",))-LEN(SUBSTITUTE(A1," ",)))
如果汉字、字母、数字在同一个单元格出现,这公式好象还有缺陷哈。
有空时再帮你弄。
热心网友
你是要分开提取出来,还是要怎么搞,
自定义函数代码如下:
Option Explicit
Function Departnum(rng As Range, cho As Integer) As String
Dim i As Integer
If rng.Count > 1 Or rng.Value = "" Then Departnum = "": Exit Function
If cho < 1 Then cho = 1
If cho > 3 Then cho = 3
Select Case cho
Case 1
For i = 1 To Len(rng.Value)
If Asc(Mid(rng.Value, i, 1)) >= 48 And Asc(Mid(rng.Value, i, 1)) <= 57 Then Departnum = Departnum & Mid(rng.Value, i, 1)
Next i
Case 2
For i = 1 To Len(rng.Value)
If Asc(UCase(Mid(rng.Value, i, 1))) >= 65 And Asc(UCase(Mid(rng.Value, i, 1))) <= 90 Then Departnum = Departnum & Mid(rng.Value, i, 1)
Next i
Case 3
For i = 1 To Len(rng.Value)
If Asc(Mid(rng.Value, i, 1)) > 255 Or Asc(Mid(rng.Value, i, 1)) < 0 Then Departnum = Departnum & Mid(rng.Value, i, 1)
Next i
End Select
End Function
热心网友
不知道具体数据是什么样子的哈。
如果有规律,如:先"字母"后面跟着都是"数字",可以采用分列。
热心网友
Excel2013版本中可以利用快速填充分离Excel中有规律的字母和数字(比如数字在前字母在后,或者字母在前数字在后)
软件版本:Office2013
方法如下:
1.将B列中的字母和数字分离:
2.现在C1中输入B1中的完整字母,然后双击填充,点击右下角的图标,选择“快速填充”:
3.就得到了全部的字母,同样的道理,可以得到全部的数字,这样就将数字和字母分离了:
热心网友
没给出具体组合形式。
假设:
1.如果A1单元格内容为:345ABCDEFG ,在B1单元格输入公式 =LOOKUP(9.99E+307,--LEFT(A1,ROW(1:20))) 提取出数字 ,在C1单元格输入公式 =SUBSTITUTE(A1,B1,"") 提取出字母;
2.如果A1单元格内容为:ABCDEFG345 ,在B1单元格输入公式 =LOOKUP(9.99E+307,--RIGHT(A1,ROW(1:20))) 提取出数字 ,在C1单元格输入公式 =SUBSTITUTE(A1,B1,"") 提取出字母.
热心网友
提取数字,在b1输入:
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"01234567")),65536)
提取字母,在c1输入:
=LEFT(A1,LEN(A1)-LEN(B1))
提取汉字:
=LEFT(SUBSTITUTE(A1," ",),LENB(SUBSTITUTE(A1," ",))-LEN(SUBSTITUTE(A1," ",)))
如果汉字、字母、数字在同一个单元格出现,这公式好象还有缺陷哈。
有空时再帮你弄。
热心网友
你是要分开提取出来,还是要怎么搞,
自定义函数代码如下:
Option Explicit
Function Departnum(rng As Range, cho As Integer) As String
Dim i As Integer
If rng.Count > 1 Or rng.Value = "" Then Departnum = "": Exit Function
If cho < 1 Then cho = 1
If cho > 3 Then cho = 3
Select Case cho
Case 1
For i = 1 To Len(rng.Value)
If Asc(Mid(rng.Value, i, 1)) >= 48 And Asc(Mid(rng.Value, i, 1)) <= 57 Then Departnum = Departnum & Mid(rng.Value, i, 1)
Next i
Case 2
For i = 1 To Len(rng.Value)
If Asc(UCase(Mid(rng.Value, i, 1))) >= 65 And Asc(UCase(Mid(rng.Value, i, 1))) <= 90 Then Departnum = Departnum & Mid(rng.Value, i, 1)
Next i
Case 3
For i = 1 To Len(rng.Value)
If Asc(Mid(rng.Value, i, 1)) > 255 Or Asc(Mid(rng.Value, i, 1)) < 0 Then Departnum = Departnum & Mid(rng.Value, i, 1)
Next i
End Select
End Function
热心网友
不知道具体数据是什么样子的哈。
如果有规律,如:先"字母"后面跟着都是"数字",可以采用分列。