看到一条全国姓氏人数排名前20位的新闻,中间提供了具体数据,但是估计是从word中复制的数据,格式错乱,就用Excel处理下。
处理结果如下图:
一、函数处理方法
单元格 | 说明 |
---|---|
A列 | 原始数据 |
B–E列 | 分离出的数据 |
B2 | =mid(A2,1,2) |
C2 | =MID($A2,FIND(“ ”,$A2,1)+1,1) |
D2 | =VALUE(MID($A2,FIND(“ ”,$A2,1)+2,4)) |
E2 | =VALUE(MID($A2,FIND(“ ”,$A2,5)+1,4)) |
1、B2单元格直接使用Mid函数截取字符,但因为1–9是一位数,而10–20是两位数,所以第三个参数截取长度使用2,对于数字1–9后面多截取了一个空格,无关痛痒。如果觉得多于空格碍事,可以再嵌套个value函数,构成value(mid(a2,1,2))的形式,自动将空格剔除。
2、C2单元格的Mid函数,第二个参数起点位置使用Find函数,用来搜索原始数据中的第一个空格位置,之后再+1,比如王姓是mid(a2,3,1),从第三个字符开始截取一个字符,吴姓则是mid(a11,4,1),从第四个字符开始截取一个字符,这就把一位数和两位数截取起点不同的问题解决了。
3、D2之所以使用value函数,是因为下面要利用这些数据进行计算。Mid函数截取出来的哪怕是数字,也是被当作字符来看待的,无法进行数据计算,故而必须使用value来转换。
4、E2需要查找第二个空格位置,所以Find函数起点改为5,换成5、6、7、8都可以。
二、分列方法
第一步:
选则A列后,单击分列按钮,选择“分隔符号”,在单击下一步按钮。
第二步:
选择“空格”作为分隔符号,“数据预览”可以看到分列后的结果,其中第二列效果不佳,需要等待进一步处理。
第三步:
先在“数据预览”中选择要做格式改变的列,再在“列数据格式”中选择需要的格式,一般使用“常规”格式,必要时单击“高级”按钮作进一步的设置。最后单击“完成”按钮。
分列后效果如上图,其中的B列需要再做分列。
因为B列要拆分为两列,所以先在B列后面先插入一空白列,否则拆分出的数据会把原来C列的“人口所占百分比”数据覆盖掉。
先选B列,再分列,步骤1中选“固定宽度”,步骤2中拖动分列线到合适位置,此处是姓氏汉字的后面,单击“下一步”后再设置数据格式就可以了。
分列最终效果如上图。
这种方法适合不熟悉Excel函数的人员。
本文出自 “清风乱翻书” 博客,请务必保留此出处http://lioncn.blog.51cto.com/1557898/1431296
原文地址:http://lioncn.blog.51cto.com/1557898/1431296