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


您可以使用以下公式从 Excel 中的字符串中提取数字:

 =TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))

此特定公式将从单元格A2中的字符串中提取所有数字。

例如,如果单元格A2包含表达式“25 辆自行车”,则此公式将仅返回 25。

下面的例子展示了如何在实践中使用这个公式。

示例:从 Excel 中的字符串中提取数字

假设我们在 Excel 中有以下字符串列表:

假设我们只想从每个字符串中提取数字。

为此,我们可以在单元格B2中键入以下公式:

 =TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))

然后我们可以单击公式并将其拖动到 B 列中的每个剩余单元格:

Excel从字符串中提取数字

B 列现在仅包含 A 列中每个匹配字符串的数字。

这个公式是如何运作的?

记住我们用来从字符串中提取数字的公式:

 =TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))

这个公式的工作原理如下:

首先, ROW(INDIRECT(“1:”&LEN( A2 )))返回从 1 到字符串长度的一系列数字。

然后, (MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1)将文本中的所有字符转换为#VALUE!错误。

然后IFERROR((MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1),””)删除所有 $VALUE!错误。

最后,TEXTJOIN(“”,TRUE,IFERROR((MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1),””)) 收集所有剩余的数字并忽略空白。

最终结果是我们只能从每个字符串中提取数字。

其他资源

以下教程说明如何在 Excel 中执行其他常见任务:

Excel:如何提取两个字符之间的文本
Excel:如何提取字符后的文本
Excel:如何提取字符前的文本

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注