Excel中如何从字符串中提取数字

本文将会讲述如何在Excel中的从给定字符串中提取所有的数字。如何使用Excel中的公式从字符串中提取所有数字。如何使用Excel中的用户定义函数从给定的字符串中获取所有数字。

假设您有B1:B5范围内的数据列表,其中包含文本字符串值,并且您希望从每个包含字母和数字的单元格中提取所有数字。换句话说,您希望删除这些文本字符串中的所有字母或者特殊字符。这篇文章将向您展示两种方法来实现它。

使用公式从字符串中提取数字


如果要从包含文本字符串值的单元格范围中提取数字,则需要使用基于SUM函数,MID函数,LARGE函数,INDEX函数,ISNUBER函数和ROW函数的数组公式来提取所有数字。一个包含文本字符串值的单元格。像这样:

=SUM(MID(0&B1,LARGE(INDEX(ISNUMBER(--MID(B1,ROW($1:$99),1))*ROW($1:$99),),ROW($1:$99))+1,1)*10^ROW($1:$99)/10)

您需要在空白单元格中键入此公式,然后按键盘上的Ctrl + Shift + Enter键将当前普通公式更改为数组公式。然后将“自动填充”手柄向下拖动到其他单元格。

Excel中如何从字符串中提取数字1

注意:B1是您要从中提取数字的单元格。

使用用户定义的函数从字符串中提取数字


您还可以使用VBA代码定义用户定义的函数,以实现从Excel中的文本字符串中提取所有数字的相同结果。只需执行以下步骤:

Step1打开excel工作簿,然后单击DEVELOPER选项卡下的Visual Basic命令,或者只需按“ALT + F11”快捷键。

隔行數據移動到新列8

Step2然后会出现“Visual Basic Editor”窗口。

Step3单击Insert” – >“Module”创建一个新模块。

隔行數據移動到新列9

Step4将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。

Excel中如何从字符串中提取数字2

Function extractNumbers(Txt As String) As String
    With CreateObject("VBScript.RegExp")
         .Global = True
         .Pattern = "\D"
         extractNumbers = .Replace(Txt, "")
    End With
End Function

Step5# 返回当前工作表,然后在空白单元格中键入以下公式,然后按Enter键。并将“自动填充处理”拖动到其他单元格。

= extractNumbers(B1)

Excel中如何从字符串中提取数字3

Sidebar