RIGHT函数在身份证号码验证实例的应用
验证身份证号是否正确的公式、通过身份证号提取出生年月、性别、年龄等的公式汇总

身份证号验证:=IF(LEN(身份证号所在单元格)=0,"空",IF(LEN(身份证号所在单元格)=15,"老号",IF(LEN(身份证号所在单元格)<>18,"位数不对",IF(CHOOSE(MOD(SUM(MID(身份证号所在单元格,1,1)*7+MID(身份证号所在单元格,2,1)*9+MID(身份证号所在单元格,3,1)*10+MID(身份证号所在单元格,4,1)*5+MID(身份证号所在单元格,5,1)*8+MID(身份证号所在单元格,6,1)*4+MID(身份证号所在单元格,7,1)*2+MID(身份证号所在单元格,8,1)*1+MID(身份证号所在单元格,9,1)*6+MID(身份证号所在单元格,10,1)*3+MID(身份证号所在单元格,11,1)*7+MID(身份证号所在单元格,12,1)*9+MID(身份证号所在单元格,13,1)*10+MID(身份证号所在单元格,14,1)*5+MID(身份证号所在单元格,15,1)*8+MID(身份证号所在单元格,16,1)*4+MID(身份证号所在单元格,17,1)*2),11)+1,1,0,"X",9,8,7,6,5,4,3,2)=IF(ISNUMBER(RIGHT(身份证号所在单元格,1)*1),RIGHT(身份证号所在单元格,1)*1,"X"),"正确","错误"))))性别:=IFERROR(IF(MOD(VALUE(MID(身份证号所在单元格,17,1)),2)=1,"男","女"),"")年龄:=IFERROR(YEAR(NOW())-VALUE(MID(身份证号所在单元格,7,4)),"")出生年月日:=CONCATENATE(MID(身份证号所在单元格,7,4),"-",MID(身份证号所在单元格,11,2),"-",MID(身份证号所在单元格,13,2))是否农村青壮年(女16至45、男16至50):=IF(户口性质<>"农业户口","否",IF(AND(性别="女",G4>=16,G4<=45),"是",IF(AND(性别="男",G4>=16,G4<=50),"是","否")))照片插入:第一步:新建一寸照文件夹为“目标文件夹”,照片命名例:99人以内(01+姓名),999人以内(001+姓名)第二步:在基础信息表内输入公式:=”照片源地址”&\”&序号栏&姓名栏&”.jpg”输入公式后,把公式内所有的“\”都换为“\\”;序号要求:99人以内从01开始,999人以内从001开始;第三步:到WORD文档,建立表格,并使光标在照片格“插入”→“文档部件”→“域”→“includepicture”→域属性输入“123”→FN+ALT+F9→把先前输入的“123”删除,在邮件合并内找输入合并域,选择“照片栏”→FN+F9。
身份证正确检验及验证公式

验证公式一=IF(LEN(H20)=18,IF(RIGHT(H20,1)="X",IF(CHOOSE(MOD(SUM(LEFT(RIGHT(H20,18) )*7 LEFT(RIGHT(H20,17))*9 LEFT(RIGHT(H20,16))*10 LEFT(RIGHT(H20,15))*5 LEFT(RIGHT(H20,14))*8 LEFT(RIGHT(H20,13))*4 LEFT(RIGHT(H20,12))*2LEFT(RIGHT(H20,11))*1 LEFT(RIGHT(H20,10))*6 LEFT(RIGHT(H20,9))*3LEFT(RIGHT(H20,8))*7 LEFT(RIGHT(H20,7))*9 LEFT(RIGHT(H20,6))*10LEFT(RIGHT(H20,5))*5 LEFT(RIGHT(H20,4))*8 LEFT(RIGHT(H20,3))*4LEFT(RIGHT(H20,2))*2),11)1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(H20,1)),"正确!","出错啦!"),IF(CHOOSE(MOD(SUM(LEFT(RIGHT(H20,18))*7 LEFT(RIGHT(H20,17))*9LEFT(RIGHT(H20,16))*10 LEFT(RIGHT(H20,15))*5 LEFT(RIGHT(H20,14))*8 LEFT(RIGHT(H20,13))*4 LEFT(RIGHT(H20,12))*2 LEFT(RIGHT(H20,11))*1LEFT(RIGHT(H20,10))*6 LEFT(RIGHT(H20,9))*3 LEFT(RIGHT(H20,8))*7LEFT(RIGHT(H20,7))*9 LEFT(RIGHT(H20,6))*10 LEFT(RIGHT(H20,5))*5LEFT(RIGHT(H20,4))*8 LEFT(RIGHT(H20,3))*4 LEFT(RIGHT(H20,2))*2),11)1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(H20,1))*1,"正确!","出错啦!")),IF(LEN(H20)=15,"老号,请注意!",IF(LEN(H20)=0,"缺号码","位数不对!")))验证公式二=MID("10X98765432",MOD(SUMPRODUCT(MID(H20,ROW(INDIRECT("1:17")),1)*2^(18 -ROW(INDIRECT("1:17")))),11) 1,1)=RIGHT(H20,1)身份证有15位和18位两种,身份证位数是否正确,我们可以用LEN函数判断。
excel各种公式汇总

Dim rRng As Range
Set rRng = Application.Intersect(Target, Range(" f6:f48"))
If rRng Is Nothing Then End
=AND(OR(LEN(F4)=15,LEN(F4)=18),ISNUMBER(F4))
=AND(OR(LEN(H4)=7,LEN(H4)=11),ISNUMBER(H4))
(删除空白行的宏语言)
----------------------------------------------------------------------------------------
(5) 小于或等于50 =COUNTIF(data,"<=50") ¬
(6) 大于E5单元格的值 =COUNTIF(data,">"&$E$5)
(7) 等于E5单元格的值 =COUNTIF(data,$E$5)
Dim rCell As Range
For Each rCell In rRng
Select Case rCell.Value
Case 1
rCell.Value = "小学"
Case 2
rCell.Value = "初中"
Case 3
rCell.Value = "高中"
Case 4
--------------------------------------------------------------------------------------------------------------------------
利用身份证号码提取个人信息

利用身份证号码提取个人信息利用身份证号码提取个人信息(如生日、性别、年龄、籍贯、是否成年)——excel超级应用,举一反三下面是我个人搜集整理的excel的应用方法,非常的有用,和大家一块分享。
利用身份证号码提取个人信息(身份证号码一定要正确,如果没有特别说明则身份证放在B列)1、利用身份证号码提取性别=IF(LEN(B2)=18,IF(MID(B2,17,1)/2=INT(MID(B2,17,1)/2),"F"," M"),IF(MID(B2,15,1)/2=INT(MID(B2,15,1)/2),"F","M")) 显示格式为:F、M(F为女、M为男)=IF(LEN(B2)=18,IF(MID(B2,17,1)/2=INT(MID(B2,17,1)/2),"女","男"),IF(MID(B2,15,1)/2=INT(MID(B2,15,1)/2),"女","男")) 显示格式为:男、女2、(推荐方法一:不用判断身份证位数)利用身份证号码提取出生年月(1)=DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))显示格式为:1996-1-1、1996-12-1、1999-12-12、1997-2-18(2)=CONCATENATE(MID(B2,7,4),"-",MID(B2,11,2),"-",MID(B2,13,2))显示格式为:1996-01-01、1996-12-01、1999-12-12、1997-02-18(3)=IF(LEN(B2)=15,19&MID(B2,7,2)&"年",MID(B2,7,4)&"年")&IF(LEN(B2)=15,MID(B2,9,2)&"月",MID(B2,11,2)&"月")&IF(LEN(B2)=15,MID(B2,11,2)&"日",MID(B2,13,2)&"日") 显示格式为:1996年01月01日、1996年12月01日、1999年12月12日、1997年02月18日(方法二:需要判断身份证位数)提取出生年月信息身份证号写在A列。
用Excel从身份证号码中提取信息(年龄、性别、出生地)

用Excel从身份证号码中提取信息(年龄、性别、出生地)出生年月日信息提取:方法一:在记录列中输入公式:=--TEXT(MID(B2,7,6+IF(LEN(B2)=15,0,2)),"#-00-00"),往下复制,无论15位还是18位身份证号码全部搞定,方法最简单。
方法二、在记录列中输入公式:=--IF(LEN(B2)=15,TEXT(MID(B2,7,6),"##-00-00"),TEXT(MID(B2,7,8),"####-00-00")),往下复制,无论15位还是18位身份证号码全部搞定,公式增加了几个字符,原理差不多,结果一致。
原理:使用函数text、if、mid、len。
注意:1、B列存放身份证号码。
存放在其它列,则在公式中作相应调整。
2、计算出错(#V ALUE!),说明身份证号码有错。
3、日期显示格式,可在单元格格式中设置。
性别信息提取:在记录列中输入公式:=IF(LEN(B2)=15,IF(MOD(RIGHT(B2),2)=0,"女","男"),IF(MOD(LEFT(RIGHT(B2,2)),2)=0,"女","男"))无论15位还是18位身份证号码全部轻松完成。
原理:使用函数IF、LEN、MOD、LEFT、RIGHT。
注意:1、B列存放身份证号码。
存放在其它列,则在公式中作相应调整。
2、计算出错(#V ALUE!),说明身份证号码有错。
出生地信息提取:在记录列中输入公式:=LEFT(B2,6),往下复制,然后根据代码用VLOOKUP查询发证地或者是出生地信息。
Excel文件模板:从身份证号码中提取信息使用的模板:使用Excel从身份证号码提取信息.xls点击该图标,打开该EXCEL文件,另存为××文件,即可使用。
谢谢你的使用。
用Excel函数计算年龄几法

在excel表格中,根据身份证号码就可以自动提取出生年月、性别、年龄。
第一,身份证号码的组成。
当今的身份证号码由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。
15~17位为顺序号,其中第17位如果是单数为男性分配码,双数为女性分配码。
即通过第17位数字,可以判断性别,奇数为男,偶数为女。
下面以实例的方式讲解如何根据身份证号码自动提取出生年月、性别、年龄。
首先,在excel中输入以下表格,实例如下面所示。
(身份证号码的输入方法见IT部落窝《excel如何输入身份证号码》文章介绍,网址是: /show.asp?id=266)A B C D E姓名身份证号码出生日期性别年龄张三510321************ 1972年05月03日女37第二,根据身份证号码自动提取出生年月在目标单元格输入公式:=MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日",回车确定,单元格内会出现与身份证号码相关的出生日期。
其它单元格的填充,不必一一输入公式,只需选中该单元格复制,在其它单元格内粘贴即可。
提示:MID函数是提供的一个“从字符串中提取部分字符”的函数命令。
第三,根据身份证号码自动提取性别的方法在目标单元格输入公式:=IF(MOD(RIGHT(LEFT(B2,17)),2),"男","女")提示:IF函数:根据逻辑表达式测试的结果,返回相应的值。
IF函数允许嵌套。
RIGHT函数:根据所指定的字符数返回文本串中最后一个或多个字符。
第四,根据身份证号码自动提取年龄的方法在目标单元格输入公式:=DATEDIF(TEXT(MID(B2,7,6+2*(LEN(B2)=18)),"#-00-00"),NOW(),"y"),回车确定。
身份证正确检验及验证公式

考据公式一=IF(LEN(H20)=18,IF(RIGHT(H20,1)="X",IF(CHOOSE(MOD(SUM(LEFT(RIGHT(H20,18) )*7 LEFT(RIGHT(H20,17))*9 LEFT(RIGHT(H20,16))*10 LEFT(RIGHT(H20,15))*5LEFT(RIGHT(H20,14))*8 LEFT(RIGHT(H20,13))*4 LEFT(RIGHT(H20,12))*2LEFT(RIGHT(H20,11))*1 LEFT(RIGHT(H20,10))*6 LEFT(RIGHT(H20,9))*3LEFT(RIGHT(H20,8))*7 LEFT(RIGHT(H20,7))*9 LEFT(RIGHT(H20,6))*10LEFT(RIGHT(H20,5))*5 LEFT(RIGHT(H20,4))*8 LEFT(RIGHT(H20,3))*4LEFT(RIGHT(H20,2))*2),11)1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(H20,1))," 正确! "," 出错啦!"),IF(CHOOSE(MOD(SUM(LEFT(RIGHT(H20,18))*7 LEFT(RIGHT(H20,17))*9LEFT(RIGHT(H20,16))*10 LEFT(RIGHT(H20,15))*5 LEFT(RIGHT(H20,14))*8LEFT(RIGHT(H20,13))*4 LEFT(RIGHT(H20,12))*2 LEFT(RIGHT(H20,11))*1LEFT(RIGHT(H20,10))*6 LEFT(RIGHT(H20,9))*3 LEFT(RIGHT(H20,8))*7LEFT(RIGHT(H20,7))*9 LEFT(RIGHT(H20,6))*10 LEFT(RIGHT(H20,5))*5LEFT(RIGHT(H20,4))*8 LEFT(RIGHT(H20,3))*4 LEFT(RIGHT(H20,2))*2),11)1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(H20,1))*1," 正确! "," 出错啦!")),IF(LEN(H20)=15," 老号,请注意! ",IF(LEN(H20)=0," 缺号码 "," 位数不对! ")))考据公式二=MID("10X98765432",MOD(SUMPRODUCT(MID(H20,ROW(INDIRECT("1:17")),1)*2^(18 -ROW(INDIRECT("1:17")))),11) 1,1)=RIGHT(H20,1)身份证有 15 位和 18 位两种,身份证位数可否正确,我们能够用LEN函数判断。
身份证正确检验及验证公式

验证公式一=IF(LEN(H20)=18,IF(RIGHT(H20,1)="X",IF(CHOOSE(MOD(SUM(LEFT(RIGHT(H20,18) )*7 LEFT(RIGHT(H20,17))*9 LEFT(RIGHT(H20,16))*10 LEFT(RIGHT(H20,15))*5 LEFT(RIGHT(H20,14))*8 LEFT(RIGHT(H20,13))*4 LEFT(RIGHT(H20,12))*2LEFT(RIGHT(H20,11))*1 LEFT(RIGHT(H20,10))*6 LEFT(RIGHT(H20,9))*3LEFT(RIGHT(H20,8))*7 LEFT(RIGHT(H20,7))*9 LEFT(RIGHT(H20,6))*10LEFT(RIGHT(H20,5))*5 LEFT(RIGHT(H20,4))*8 LEFT(RIGHT(H20,3))*4LEFT(RIGHT(H20,2))*2),11)1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(H20,1)),"正确!","出错啦!"),IF(CHOOSE(MOD(SUM(LEFT(RIGHT(H20,18))*7 LEFT(RIGHT(H20,17))*9LEFT(RIGHT(H20,16))*10 LEFT(RIGHT(H20,15))*5 LEFT(RIGHT(H20,14))*8 LEFT(RIGHT(H20,13))*4 LEFT(RIGHT(H20,12))*2 LEFT(RIGHT(H20,11))*1LEFT(RIGHT(H20,10))*6 LEFT(RIGHT(H20,9))*3 LEFT(RIGHT(H20,8))*7LEFT(RIGHT(H20,7))*9 LEFT(RIGHT(H20,6))*10 LEFT(RIGHT(H20,5))*5LEFT(RIGHT(H20,4))*8 LEFT(RIGHT(H20,3))*4 LEFT(RIGHT(H20,2))*2),11)1,1,0,"X",9,8,7,6,5,4,3,2)=LEFT(RIGHT(H20,1))*1,"正确!","出错啦!")),IF(LEN(H20)=15,"老号,请注意!",IF(LEN(H20)=0,"缺号码","位数不对!")))验证公式二=MID("10X98765432",MOD(SUMPRODUCT(MID(H20,ROW(INDIRECT("1:17")),1)*2^(18 -ROW(INDIRECT("1:17")))),11) 1,1)=RIGHT(H20,1)身份证有15位和18位两种,身份证位数是否正确,我们可以用LEN函数判断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RIGHT函数在身份证号码验证实例的应
用
简介
身份证号码是一串由数字和字符组成的唯一标识符,用于区分不同的个体。
身份证号码中包含了个人的信息和校验位,对于验证身份证号码的合法性和正确性,我们可以利用RIGHT函数进行处理和判断。
RIGHT函数的定义和功能
RIGHT函数是一种常用的文本函数,在Excel等电子表格软件中广泛应用。
它用于截取给定字符串中指定长度的最右边字符。
RIGHT(text, num_chars)
- text: 待截取的字符串
- num_chars: 要截取的字符个数
例如,RIGHT("Hello world", 5) 的结果为 "world"。
RIGHT函数在身份证号码验证中的应用
身份证号码通常由18个字符组成,由前17位的数字和最后一
位的校验位构成。
校验位的计算规则是根据身份证号码前17位数
字的加权和,然后取模得到的值通过一定的计算公式转换成对应的
校验位数字。
在这个实例中,我们可以利用RIGHT函数方便地截取身份证
号码的最后一位校验位,并通过对前17位数字的加权和进行计算,验证身份证号码的合法性。
以下是一个使用RIGHT函数验证身份证号码的示例代码:
def verify_id_number(id_number):
weight = [int(x) for x in '7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2'.split()]
verify_code = '10X'
if len(id_number) != 18:
return False
number = id_number[:17]
last_code = RIGHT(id_number, 1)
result = sum([int(number[i]) * weight[i] for i in range(17)]) % 11
if verify_code[result] == last_code:
return True
else:
return False
id_number = 'X'
if verify_id_number(id_number):
print(f"{id_number} 是有效的身份证号码")
else:
print(f"{id_number} 不是有效的身份证号码")
通过上述代码,我们可以利用RIGHT函数提取身份证号码的校验位,并使用加权和的计算公式进行校验。
如果校验通过,则说明身份证号码是有效的;否则,就不是有效的。
这个例子展示了在身份证号码验证中,RIGHT函数的应用,
方便了对字符串的处理和截取,提高了验证的准确性和效率。
结论
RIGHT函数在身份证号码验证实例中发挥了重要的作用。
通
过对身份证号码字符串的截取和计算,我们可以方便地验证身份证
号码的合法性。
RIGHT函数能够应用于其他类似的字符串校验中,为数据处理和信息安全提供了便利和准确性。