当前时间: 2026-08-09 12:33:03
分类:办公文件
评论(0)
wps表格身份证号码校验在信息统计过程中,经常遇到搜集身份证的情形,由于种种原因,我们无法保证得到的身份证号码是正确的,为此,我们可以利用身份证号码的第18位的校验原理,编写一个身份证号码校验函数。=LAMBDA(id_num, LET(id_num,TRIM(SUBSTITUTE(id_num,CHAR(160),"")),IF(LEN(id_num)<>18,"身份证号码长度有误!",LET(id_num_char,MID(id_num,SEQUENCE(,17),1),weights,MOD(2^(SEQUENCE(,17,17,-1)),11),sum_weights,MOD(SUM(id_num_char*weights),11),check_lst,HSTACK({"1","0","X"},TEXT(SEQUENCE(,8,9,-1),"@")),check_code,INDEX(check_lst,sum_weights+1),IF(check_code<>RIGHT(id_num,1),"身份证号码有误!","校验通过")))))给这个自定义函数起名,如IDCHECK,然后把引用位置后面的文本替换为上面的函数定义即可。这样,我们下次需要对身份证校验时,直接把信息复制到这个工作簿,直接用这个函数就可以了,和wps表格自带的函数一样用法。- wps表格引入了let函数,对于有编程基础的很安利,这里变量命名即赋值,类似python。
- Wps表格的字符串不会自动作为数组处理,我们需要结合mid函数才可遍历其各个字符。
- 第18位校验码的生成原理在我的公式中已体现,如果大家不愿意自行计算,也可以到网上搜索现成的。
- 编码对照序列,大家可以理解为一个从X到0的逆序队列向下推两位而成,方便大家记忆。