没错呀。直接用有效性好了,选中A列后打开菜单“数据”-“有效性”,在“允许”中选“自定义”,下面输入你的公式:
=OR(LEN(A1)=15,LEN(A1)=18)
甚至可以输入出错警告的文字,保存后就可以了。
第一步:将要放身份证的单元格区域设置成文本格式,如将A列设置成文本格式;
第二步:工具->宏->Visual Basic编辑器,在“Microsoft Visual Basic编辑器”窗口中添加模块,
代码如下:
Function idcheck(sfzh)
'检查位数
If Len(sfzh) < 15 Or Len(sfzh) = 16 Or Len(sfzh) = 17 Or Len(sfzh) > 18 Then
idcheck = "身份证号长度错误"
Exit Function
Else
idcheck = "身份证号长度正确"
End If
End Function
第三步:在B列应用一述函数。
当然,利用上述方法,还可以编写用于校验身份证号的真伪、性别等等的函数。
公式没有错误,可能是操作方面有问题。
公式引用了A1,如果操作时所选择的区域的第一个单元格不是A1就错了。
单元格类型必须要设置为“文本”才行