返回

解密Excel身份证分段显示绝技,告别手动输入时代!

开发工具

在处理涉及身份证号码的大量数据时,分段显示身份证号码成为不可避免的一步。对于Excel高手来说,这也许是小菜一碟。但对于新手小白而言,这可能是一道令人头疼的难题。今天,小编就来揭秘Excel身份证分段显示的绝技,让你告别手动输入的繁琐,轻松搞定分段难题!

作为一名Excel达人,小编一开始也信心满满,采用最直接的方法——手工输入。然而,面对几十上百条身份证号码,手动输入不仅耗时耗力,还容易出错。于是,小编开启了寻找更便捷方法的探索之旅。

方法一:文本转列法

首先,我们尝试使用文本转列功能。选中身份证号码列,点击“数据”选项卡中的“分列”。在“分隔符号”处选择“自定义”,输入分隔符“”,点击“下一步”。系统会自动将身份证号码分成六段。

方法二:公式法

如果数据量较少,我们可以利用公式进行分段。以身份证号码为A列,在B列中输入以下公式:

=LEFT(A2,6) & "-" & MID(A2,7,4) & "-" & MID(A2,11,2) & "-" & RIGHT(A2,3)

此公式将身份证号码分成四段,中间用连字符“-”隔开。

方法三:VBA法

对于大批量数据,VBA宏可以实现快速分段。在“开发工具”选项卡中点击“Visual Basic”,在弹出的VBA编辑器中输入以下代码:

Sub SplitIDCard()
    Dim ws As Worksheet
    Dim rng As Range
    Dim lastRow As Long
    Dim i As Long
    Dim strIDCard As String

    Set ws = ActiveSheet
    Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
    lastRow = rng.Rows.Count

    For i = 1 To lastRow
        strIDCard = rng.Cells(i, 1).Value
        With rng.Cells(i, 1).Offset(0, 1)
            .Value = Left(strIDCard, 6)
            .Offset(0, 1).Value = Mid(strIDCard, 7, 4)
            .Offset(0, 2).Value = Mid(strIDCard, 11, 2)
            .Offset(0, 3).Value = Right(strIDCard, 3)
        End With
    Next
End Sub

运行宏即可将身份证号码分段。

方法四:自定义函数法

如果需要更加灵活的分段方式,我们可以编写自定义函数。在“插入”选项卡中的“函数”组点击“其他函数”,在“类别”中选择“用户定义”,选中自己创建的函数,点击“确定”。

Function SplitIDCard(strIDCard As String)
    Dim arrIDCard() As String

    arrIDCard = Split(strIDCard, "-")

    SplitIDCard = Join(arrIDCard, " ")
End Function

在需要分段的单元格中输入公式:

=SplitIDCard(A2)

以上就是Excel身份证号码分段显示的4种方法,总有一款适合你。掌握这些技巧,让你轻松应对身份证号码分段难题,告别繁琐的手动输入,提高工作效率!