假设数据在A列 在B1输入
方法1:=LOOKUP(9E+307,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&5^19)),ROW($1:$99)))
公式下拉
方法2:=IF(ISERROR(FIND("-",A1)),"","-")&MID(SUM(MID(101&A1,2+LARGE(ISNUMBER(-MID(1&A1,COLUMN(1:1),1))*COLUMN(1:1),ROW($1:$50)),1)*10^ROW($2:$51))%,2,15)
方法3:按ALT+F11,插入-模块,复制下列语句
Function SplitNumEng(str As String, sty As Byte)
Dim StrA As String
Dim StrB As String
Dim StrC As String
Dim i As Integer
Dim SigS As String
For i = 1 To Len(str)
SigS = Mid(str, i, 1)
If SigS Like "[a-zA-Z]" Then
StrA = StrA & SigS
ElseIf SigS Like "#" Then
StrB = StrB & SigS
Else
StrC = StrC & SigS
End If
Next i
Select Case sty
Case 1
SplitNumEng = StrA
Case 2
SplitNumEng = StrB
Case Else
SplitNumEng = StrC
End Select
End Function
比如你的数据在A1
BI输入 =SplitNumEng(A1,1) 表示提取字母
=SplitNumEng(A1,2) 表示提取数字
=SplitNumEng(A1,3)表示提取中文
=SUM(MID(0&A1,LARGE(ISNUMBER(--MID(A1,ROW($1:$100),1))*ROW($1:$100),ROW($1:$100))+1,1)*10^ROW($1:$100)/10)
数组公式,输入公式后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。