单元格中包含字母、汉字和数值,是否可以将其中的数字单独提取出来?

解题步骤

以图4.166所示的数据为例,人工提取每个单元格中的数字是相当费时费力的,借助Word的查找工具可以快捷地选中这些数字,然后将它们复制到Excel中。

Excel 如何从杂乱字符串中提取数字?-Excel22

图4.166 待提取数字的数据源

1.选择A2:A9区域,按组合键<Ctrl+C>复制数据。

2.打开Word,然后按组合键<Ctrl+V>粘贴数据。

3.按组合键<Ctrl+H>,弹出“查找和替换”对话框。

4.将查找内容设置为“[!0-9.]”,然后单击“更多”按钮,选择下方的“使用通配符”复选框,最后单击“全部替换”按钮。图4.167是设置界面,图4.168则是替换结果。

Excel 如何从杂乱字符串中提取数字?-Excel22

图4.167 设置查找选项

Excel 如何从杂乱字符串中提取数字?-Excel22

图4.168 替换结果

5.按组合键<Ctrl+A>全选所有数字,再按<Ctrl+C>复制数据,然后返回Excel中,选择B2单元格并按组合键<Ctrl+V>粘贴数据,图4.169为粘贴结果。

Excel 如何从杂乱字符串中提取数字?-Excel22

图4.169 将Word中的查找结果复制到Excel中

知识扩展

1.在前面的案例中讲过,Excel的查找工具不支持正则表达式,而Word是支持的,因此对于复杂的查找和替换都转到Word中执行,然后将结果回传到Excel中。

本例中代码“[!0-9.]”的含义是排除所有数字和小数点。其中“[0-9.]”表示数字或小数点,叹号则表示不等于/排除,因此整体的含义是将数字以外的字符替换成空白,剩下数字。

2.本例的方法只针对一个单元格中只有一串数字的情况,如果一个单元格中有两串或更多数字,则要使用更复杂的方法。