常常会遇到需要分开数据中的中文和数字,假设有下面的一组数据:
最终目的是分开数字和中文单位。可以用excel的power query:
1. 以excel 2016为例,首先打开菜单栏的【数据】→【自定义表格/区域】:
2. 加载想处理的数据到数据查询编辑器:
3. 首先提取中文部分,单击【添加列】→【自定义列】,输入公式:=Text.Select([人口],{“一”..”龟”})
计算结果如下。中文部分被提取出来了。
4. 选择【保存并上载数据】–>上载的位置可以选择原表格
新增的这列拆出来中文的数据就被加载到原数据的右边。
5. 那么如果先想提取的是数字部分,又该怎么做呢?
同样,先加载想处理的数据到数据查询编辑器。单击【添加列】→【自定义列】,输入公式:=Text.Select([人口],{“0”..”9″})
这时候,可能大家已经发现了一个问题。我们提取数字的时候,把所有非数字都去掉了,包括小数点。这就会造成数据的不准确。那么应该如果保留小数点和数字呢?
采用反向思考,去掉中文。
所以操作过程就是:单击【添加列】→【自定义列】,输入公式:=Text.Remove([人口],{“一”..”龟”})
这样的结果就是有小数点和数字的。
最后总结一下用power query提取和删除内容的公式, [人口] 代表列名,因人而异:
总结 | 中文 | 英文 | 数字 |
提取 | Text.Select([人口],{“一”..”龟”}) | Text.Select([人口],{“A”..”z”}) | Text.Select([人口],{“0”..”9″}) |
删除 | Text.Remove([人口],{“一”..”龟”}) | Text.Remove([人口],{“A”..”z”}) | Text.Remove([人口],{“0”..”9″}) |