Excel:如何从字符串中提取十进制数
您可以使用以下公式从 Excel 中的字符串中提取十进制数:
=MID( A2 , MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, A2 &"0123456789")), MAX(IFERROR(FIND({1,2, 3,4,5,6,7,8,9,0}, A2 ,ROW(INDIRECT("1:"&LEN( A2 )))),0))-MIN(SEARCH({0,1,2, 3,4,5,6,7,8,9}, A2 &"0123456789"))+1)
此特定公式将从单元格A2中的字符串中提取十进制数。
例如,假设单元格A2包含以下句子:
- 她买了12.52磅水果
所以这个公式将返回12.52 。
下面的例子展示了如何在实践中使用这个公式。
示例:从 Excel 中的字符串中提取十进制数
假设我们在 Excel 中有以下字符串列表:
假设我们只想从每个字符串中提取十进制数字。
为此,我们可以在单元格B2中键入以下公式:
=MID( A2 , MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, A2 &"0123456789")), MAX(IFERROR(FIND({1,2, 3,4,5,6,7,8,9,0}, A2 ,ROW(INDIRECT("1:"&LEN( A2 )))),0))-MIN(SEARCH({0,1,2, 3,4,5,6,7,8,9}, A2 &"0123456789"))+1)
然后我们可以单击公式并将其拖动到 B 列中的每个剩余单元格:
B 列现在仅包含 A 列中每个匹配字符串的十进制数字。
这个公式是如何运作的?
记住我们用来从字符串中提取十进制数字的公式:
=MID( A2 , MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, A2 &"0123456789")), MAX(IFERROR(FIND({1,2, 3,4,5,6,7,8,9,0}, A2 ,ROW(INDIRECT("1:"&LEN( A2 )))),0))-MIN(SEARCH({0,1,2, 3,4,5,6,7,8,9}, A2 &"0123456789"))+1)
这个公式的工作原理如下:
首先, MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&”0123456789″))返回字符串中第一个数字的位置。
然后, MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2,ROW(INDIRECT(“1:”&LEN(A2)))),0) )返回字符串中最后一个数字的位置。
然后我们使用MID函数提取字符串中这两个位置之间的所有字符。
最终结果是我们只能从字符串中提取十进制数。
其他资源
以下教程说明如何在 Excel 中执行其他常见任务: