excel文本中怎么提取数字

发布网友 发布时间:2022-04-27 03:57

我来回答

4个回答

热心网友 时间:2022-06-25 20:25

        1、我们将要提取含有文字单元格内容复制到旁边的单元格中。

        2、将其列宽调整到只能显示一个字符,如图所示。

        3、在“编辑”菜单下选择“填充”下的“内容重排”。

        4、选择旁边的空白单元格进行复制,再选择已经拆分的内容。右击在弹出的菜单里选择“选择性粘贴”。

        5、在“选择性粘贴”窗口中选择“加”后确定,其实这一步是将文本数值转换成数字。

        6、再选择拆分的内容,CTRL+G打开“定位”对话框。并点击下方的“定位条件”。

        7、在“定位条件”窗口中选择“常量”并在其下方选择“文本”,最后确定。

        8、这样就选择了所有的文本内容的单元格。

        9、用CTRL+"-"快捷键,记住了是小键盘上的减号。在“删除”对话框中选择“下方单元格上移”。

        10、这个就达到了快速提取含有文字单元格中的数字的目的。

热心网友 时间:2022-06-25 20:25

如果数字都在一起,没有被隔开,就好办
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&12345670)),ROW($1:$1024)))

或者自定义一个函数:
Function Num (Str As String) '在文本与数字混杂中提取数字
Dim myReg
Set myReg = CreateObject("vbscript.Regexp")
myReg.Global = True
myReg.Pattern = "[^\d/+]"
Num = myReg.Replace(Str, "")
Set myReg = Nothing
End Function
用的时候直接=Num(A1)

热心网友 时间:2022-06-25 20:26

在B2中输入或复制粘贴下列公式之一
=LOOKUP(9^9,--MID(A1,MIN(FIND(ROW($1:$9)-1,A1&12345670)),ROW($1:$100)))
=LOOKUP(9E+307,--MID(A1,MIN(FIND(ROW($1:$9)-1,A1&12345670)),ROW($1:$100)))
=LOOKUP(9^9,--MID(A1,MIN(FIND(ROW($1:$9)-1,A1&12345670)),ROW(INDIRECT("1:"&LEN(A1)))))
=LOOKUP(9E+307,--MID(A1,MIN(FIND(ROW($1:$9)-1,A1&12345670)),ROW(INDIRECT("1:"&LEN(A1)))))
按三键CTRL+SHIFT+ENTER结束公式输入
下拉填充

热心网友 时间:2022-06-25 20:26

按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
B1输入 =SplitNumEng(A1,2) 公式下拉
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com