excel 身份证校验
时间: 2024-08-16 16:03:31 浏览: 39
在Excel中,身份证校验通常是指利用Excel内置的功能来验证输入的中国居民身份证号码是否有效。这通常涉及到一些特定规则,如位数检查、奇偶校验码计算以及出生日期校验等。Excel提供了一种简单的公式`=ISNUMBER(SEARCH("^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$",A1))`,这个函数会检查字符串A1是否符合中国大陆居民身份证的格式。
相关问题
身份证校验码excel公式
身份证校验码实际上是通过一种特定算法计算出来的,用于验证身份证号码的有效性。在Excel中,可以使用公式来辅助验证,但这并不是内置功能。通常的做法是手动编写公式,涉及到的是中国居民身份证的校验规则,也就是刘辉算法(也叫18位身份证校验码计算法)。该算法基于身份证的每一位数字及其权重进行加权求和,并根据模运算确定奇偶性和对应的校验码。
如果你想在Excel中实现这种校验,你可以创建一个自定义函数,或者编写一个VBA宏。例如,可以编写这样的VBA函数:
```vba
Function IDCheckdigit(num As Long) As String
Dim sum As Long
Dim i As Integer
For i = 7 To 17 Step 2 '奇数位置
sum += (num Mod 10) * i
num = Int(num / 10)
Next i
For i = 6 To 16 Step 2 '偶数位置,除了最后一位
sum += num Mod 10 * (i + 1)
num = Int(num / 10)
Next i
If sum Mod 11 > 5 Then
IDCheckdigit = "X"
Else
IDCheckdigit = CStr(11 - (sum Mod 11))
End If
End Function
```
这个函数接收一个18位的身份证号码,然后返回校验码。使用时,只需要将身份证号码的前17位作为参数传入,比如`=IDCheckdigit(A1)`,A1是包含身份证号码的单元格。
excel如何校验12000个身份证
在Excel中校验身份证号码可以通过使用公式来实现,但需要注意的是,身份证号码通常包含15位或18位数字,其中18位身份证号码是由17位数字和一位校验码组成。校验码的计算规则是将前面的17位数字按照一定的权值相乘后,再对11取模得到余数,根据余数通过特定的对照表计算出最后一位校验码。
以下是一个简单的校验方法,假设身份证号码存放在A列,从A2开始:
1. 在B2单元格中输入以下公式,用于校验18位身份证号码是否符合基本的结构要求(包括17位数字和1位校验码):
```
=IF(AND(LEN(A2)=18, ISNUMBER(VALUE(LEFT(A2,17))), OR(MID(A2,18,1)="0", MID(A2,18,1)="1", MID(A2,18,1)="2", MID(A2,18,1)="3", MID(A2,18,1)="4", MID(A2,18,1)="5", MID(A2,18,1)="6", MID(A2,18,1)="7", MID(A2,18,1)="8", MID(A2,18,1)="9")), "合法", IF(AND(LEN(A2)=15, ISNUMBER(VALUE(A2))), "合法", "不合法"))
```
这个公式首先检查身份证号码的长度是否为18位,然后检查前17位是否都是数字,最后检查第18位是否为0到9之间的数字。如果身份证号码是15位,则只检查是否都是数字。
2. 如果需要进一步校验18位身份证号码的校验码是否正确,需要使用更复杂的公式来模拟校验码的计算过程,这通常涉及到较复杂的条件判断和计算,可能需要通过辅助列或VBA代码来实现。
请注意,上述方法只是对身份证号码的格式进行基本的校验,对于身份证号码是否真实有效(例如出生日期是否合理、地区码是否存在等),则需要更复杂的数据验证和对照,可能需要与公安部门的数据库进行比对,这在Excel中实现起来非常困难,通常需要借助外部程序或接口来完成。
阅读全文