excel中怎样通过公式查找到身份证号,同名怎么办?

我有一份对应人员姓名和身份证信息,但每次调用其中一人的身份证信息时都要进行查找,能不能通过公式直接在输入姓名后查找出此人的身份证信息,试过EXCEL中的VLookup,但无法进行完整查找,同名时怎么处理?
公式:=VLOOKUP(A4,Sheet1!A:B,2,0)
A B
姓名 身份证号 年终考核
李红 332258198001010003
胡海 332258198001010015
李红 332258198001010003
无法查找到第二个李红的身份证号

原表:
A B
姓名 身份证号 其它信息……
李红 332258198001010003
李红 332258198001010009
胡海 332258198001010015
……

前提:A列为姓名,B列为身份证号,C1为输入姓名格,D列为查询结果
则D1的公式为
=IFERROR(INDEX(B:B,SMALL(IF(ISNUMBER(FIND($C$1,$A$1:$A$10000)),ROW($1:$10000),2^99),ROW(1:1))),"")
此公式支持模糊查找,即可以输入”李“,会将”小李“”李四“”李“三个人都搜出来。

=IFERROR(INDEX(B:B,SMALL(IF($C$1=$A$1:$A$10000,ROW($1:$10000),9^9),ROW(1:1))),"")
此公式严格匹配,输入”李“,只出现”李“的结果,”李四“,”小李“都不出现。

注意:
1、输入完公式用ctrl+shift+enter结束
2、D列填充长度根据具体情况自行选择
3、公式引用坐标如与实际不符,请自行修改A、B、C三种字母
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-29
你既然用VLOOKUP可以查找,但不完整。把公式完善就行:
如数据在Sheet1表,
在Sheet2表的B1输入=IF($A1<>"",VLOOKUP($A1,Sheet1!$A:$Z,COLUMN(),FALSE),"")回车后向右拉(向右填充),需要时选择B1~Z1一起向下拉。
这就,在A1输入“姓名”就可以“进行完整查找”了。
同名的增加辅助符号(如张三1、张三2……)本回答被提问者和网友采纳
第2个回答  2009-04-29
使用VLOOKUP()可以查找,但同名的需要在另外的单元格中修改函数参数就行了(同时在多单元格是显示不周的人)。
VLOOKUP(姓名,区域,选择列,记录号),修改记录号,如0为第一条记录,1为第二个同名人员。
第3个回答  2009-04-29
朋友,同名的情况,可以根据其他的条件来查找~~最好查找的时候根据一个独一无二序号之类的条件 或者用多个条件;方法根据你的数据表再看
第4个回答  2009-04-29
假设你原来的表格
A B C D
姓名1 年龄 性别 身份证号
姓名2 年龄 性别 身份证号
姓名3 年龄 性别 身份证号
姓名4 年龄 性别 身份证号

新的表格
A B
姓名2 工资
姓名1 工资
姓名4 工资
姓名3 工资

那么假设几个前提:
1.你们公司没有同名的两个或者多个同事,既一个名字对应一个人,不能同时有2个“王刚”(例子)
2.第二个表的名字假设为 gongzidan.xls表里面有一个页面名字 sheet1

做法:
将你原来的表格增加一列,如下
A B C D E
姓名1 年龄 性别 身份证号 待填工资栏
姓名2 年龄 性别 身份证号 待填工资栏
姓名3 年龄 性别 身份证号 待填工资栏
姓名4 年龄 性别 身份证号 待填工资栏

然后做最重要的步骤
在E列,待填工资的第一个位置(假设是E2单元格)输入:
=VLOOKUP(A2,'[gongzidan.xls]sheet1'!$A:$B,2,FALSE) 然后回车即可。
下面的E3直到表单底,用复制,粘贴即可。

公式解释如下:
A2是在gongzidan.xls表里面查找的对象,查找的范围是 '[gongzidan.xls]sheet1'!$A:$B (即:gongzidan.xls表里面sheet1页面的A列到B列) 然后在查找到的第一个与A2单元格内容(即:姓名1)相同的对象时,返回该对象对应的工资(即公式里,2,这个地方,表示从A列到B列的第2列,也就是工资列)。FALSE公式常数。

你可以根据你的具体表格的名字来替代我公式中的 gongzibiao.xls 和 sheet1

如果有相同姓名的人,你需要到工资表那个表里去手工查找,这个公式是把第一个相同的人名的工资找出来。如果两个相同的人名,则第二个人名的工资和第一个人名的工资通过公式自动查找的结果是一样的。所以需要手动查找。
相似回答