Excel数据清洗技巧 2

接上篇,我们提到了用智能填充来解决将姓名和身份证号码分开的问题。

但是由于在 MS 2013 以前的版本中是不存在智能填充功能的,此时应该如何解决这个问题呢?

一、准备演示数据

略,或许你可以参考上篇???

二、认识几个常用函数

1. left 与 right 函数

left 和 right 在我们日常使用中比较常见,它们的作用是从文本字符串的第(最后)一个字符开始返回指定个数的字符,也就是获取一个单元格的内容中,从左(右)起,数出一定字数的内容。

有两个参数:

第一个参数 text ,指的是你要从哪个单元格里取出内容。

第二个参数 num_chars ,指的是你要数出几个字。

举个例子:

Excel数据清洗技巧 2

如上图,A3 单元格的内容为 "你好啊" ,现在要从 A3 单元格里取出 "你",有两种方法,公式为:

LEFT(A3,1) 或者 LEFT(A3),由此可见,当省略参数 num_chars 时, num_chars 的值默认为1。

取出 "你好啊",同样有两种方法,公式为:

LEFT(A3,3) 或者 LEFT(A3,100),此处 100 可以被换成任何大于 3 的数字,即如果 num_chars 的值大于字符串的长度,会取出整个字符串。

right 函数与 left 函数用法相同,不过 right 是从右往左数, left 是从左往右数,这里就不再赘述。

2. len 函数

len 函数用来配合前面提到的两个函数,能起到很棒的效果。它的作用是数一数单元格里的字符串有多少个字。

它只有一个参数 text,指的是你要统计哪个单元格的字符数。注意,空格会被认为是一个字符。

三、用函数来完成数据清洗

首先我们知道一个常识,身份证号码有两种,一种是15位,一种是18位,15位的已经很少看到了,通常都是18位的。

再来看一下演示数据:

Excel数据清洗技巧 2

很明显姓名在前,18位身份证紧随其后。

那么要获取身份证号码就很简单了,从右往左,数出18位即可。

Excel数据清洗技巧 2

是不是很简单~

姓名的话稍微麻烦一点儿,因为姓名有两个字的,有三个字的,甚至有四个字的(囧

直接用 left 的话看来行不通。

但我们可以换一个思维逻辑,A列的内容除了身份证号码就是姓名,因此用A列单元格的长度减身份证号码的长度18即可得到姓名的长度。

所以姓名可以用下面这个公式来获取:

LEFT(A2,LEN(A2)-18)

Excel数据清洗技巧 2

最后选中要填充的部分,Ctrl+D 向下填充,即可得到清洗后的数据。

Excel数据清洗技巧 2

版权声明:muruoxi 发表于 2022年1月4日 pm8:55。
转载请注明:Excel数据清洗技巧 2 | 软件爱好者

相关文章

暂无评论

暂无评论...

关注公众号防失联!