相信大家在看到这个题目的时候大家一定很疑问,这还不简单?感觉自己应该会好几种方法。我刚看到这个问题的时候也是这样想的,我就试了一下自己想到的方法,结果被一一打脸了。

下面来看看小编被打脸的过程吧。

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(1)

我们希望如上图对身份证号码进行6-8-4格式进行显示。

1、单元格自定义格式—被打脸

小编第一个想到的就是单元格自定义格式。

首先选中数据C5:C9单元格区域,然后按快捷键「Ctrl 1」打开「设置单元格格式」对话框,选择「数字」选项卡下「自定义」,在类型中输入「000000-00000000-0000」格式。

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(2)

然后来看看打脸结果:

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(3)

设置后竟然毫无反应,为什么?为什么?小编疑惑了,还是小编已经不会用自定义格式了?小编决定再试试把电话号码格式化为3-3-4格式显示即「000-000-0000」。

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(4)

成功了,可以啊,这是咋回事?于是小编查了关于单元格自定义的用法,官网中有这么一句话:「创建和构建自定义数字格式,以百分比、货币、日期等形式显示数字」。小编瞬间明白了,原来自定义格式主要是自定义数字格式的,而小编设置的身份证号因为有18位所以设置为文本格式,这样就导致自定义格式无法生效。而手机号是数字格式所以生效了。

好吧,虽然被打脸了,但是学到了:单元格自定义格式只能针对数字格式进行设置

2、TEXT函数—被打脸

我们指定TEXT函数是可以格式化的,比如这里我们在C5单元格中设置公式「=TEXT(B5,"000000-00000000-0000")」,然后双击点击C5单元格填充柄快速填充完成操作。

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(5)

又被打脸了,最后三位数字都是000。我们知道Excel中数字的精度是15位,当数字超过15位的时候一般都会用0代替,而身份证号是18位,所以后面3位变成0了。再结合上面自定义单元格格式的问题,那么TEXT函数应该也是针对数字格式的值使用的。果不其然,看看官网的解释:「TEXT 函数可通过格式代码向数字应用格式,进而更改数字的显示方式」。

3、Ctrl E—应该不用被打脸

我们都是知道Ctrl E功能很强大,可以智能识别规律并快速填充。

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(6)

貌似不用被打脸了,但是看完上面动态图的应该发现了一个小瑕疵,就是原数据变了以后,显示格式中的数据是不会变的,没法做到自动更新。当然对于只要显示格式数据的朋友这就不算问题了。

4、最笨的方法字符串截取函数

最后小编实在没辙了,只能想到最笨的方法了,而且必然会成功的方法。

我们在C5单元格中输入公式「=LEFT(B5,6)&"-"&MID(B5,7,8)&"-"&RIGHT(B5,4)」,这些函数前面文章都要详细介绍过这里就不多说了。三个函数分别是截取前面6位,截取中间8位,截取后面4位,然后通过&把它们和"-"拼接起来。最后双击点击C5单元格填充柄快速填充完成操作。

excel身份证号如何拆分(Excel中身份证号码如何分段显示)(7)

最后总算完美的解决了问题,而且还可以随着原数据自动更新。

小编的这次被打脸经历,让小编意识到基础知识的重要性,回头还是要好好学学基础知识啊。另外再简单的功能也不能想当然。

,