excel 如何把身份证号筛选出来,由于数据量比较大,有15位的、也有18位的最主要的是有些身份证号码错误

身份证号码错误是有15位以下的,也有16、17位的也有18位以上的,怎么把这些正确的身份证号筛选出来,把错误的批量删除。求教excel大神。

设身份证号在a列,在b2输入:
=if(or(len(a2)=15,len(a2)=18),"","该行对应的身份证号码错误")
然后下拉。
之后对b列进行排序或筛选,删除错误的行数据就好了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-10
以Excel 2003为例,步骤如下: 1.对A列(身份证号列)应用自动筛选。选择A1所有的单元格,单击菜单“数据→筛选→自动筛选”。
2.单击A1单元格右侧的下拉箭头,在弹出的下拉列表中选择“自定义”。弹出“自定义自动筛选方式”对话框。在左侧的下拉列表中都选择“不等于”,在右侧的两个文本框中分别输入15个和18个英文的“?”。注意两个筛选条件之间的逻辑关系为“与”。
3.单击“确定”,即可筛选出位数错误的身份证号。
第2个回答  2012-12-10

可以在B列和C列分别提取15位和18位身份证号

如身份证号数据在a列 a2:a1000

在b2和c2分别粘贴下面公式

    B2=INDEX(A2:A1000,SMALL(IF(LEN(A2:A1000)=15,ROW(A2:A1000),4^8),ROW(A1)))&""

    C2=INDEX(A2:A1000,SMALL(IF(LEN(A2:A1000)=18,ROW(A2:A1000),4^8),ROW(A1)))&""

都是数组公式, 按 "Ctrl+Shift+回车" 结束

下拉公式

第3个回答  2012-12-10
可以利用一下len()公式,结果就是可以得到身份证长度的数字,然后再进行判断.
如果是认为15位或者18位是对的 可以这么写公式 =IF(OR(LEN(A1)=15,LEN(A1)=18),"","错误") 这样15位和18位的不显示 其他的显示"错误"
第4个回答  2012-12-10
如果仅仅把长度不对的选出,则可用长度函数: D列: =if(or(len(B1)=15,len(B1)=18),"","错误"),然后对D列筛选,把错误的删除。
相似回答