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键将当前普通公式更改为数组公式。然后将“自动填充”手柄向下拖动到其他单元格。
注意:B1是您要从中提取数字的单元格。
使用用户定义的函数从字符串中提取数字
您还可以使用VBA代码定义用户定义的函数,以实现从Excel中的文本字符串中提取所有数字的相同结果。只需执行以下步骤:
Step1#打开excel工作簿,然后单击DEVELOPER选项卡下的“Visual Basic”命令,或者只需按“ALT + F11”快捷键。
Step2#然后会出现“Visual Basic Editor”窗口。
Step3#单击“Insert” – >“Module”创建一个新模块。
Step4#将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。
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)