excel两组数据,用一组姓名提取另一组不相同的身份证号?

一组数据为姓名,另一组数据为姓名,工号,身份证号,不对齐,只想提取身份证号,D列姓名,提取I列身份证号到F列,I列有重复身份证号(对的和错的)如果有重复,另一个提取到另一列,还因为有姓名显示的是工号,所以重复的有点多,怎么才能只提取身份证号呢?

1.建议对参考区先做一定修改,增加几个辅助列

1)*姓名1-L6=IF(ISERROR(I6*1),"",J6)

2)*身份证-M6=IFERROR(I6*1,"")

3)*姓名2-N6=IF(ISERROR(I6*1),J6,"")

4)工号-O6=IF(ISERROR(I6*1),I6,"")

这么做的好处是可以将身份证号与工号区分开,再引用的时候互不干扰,也方便了后续可能会引用工号。

2.身份证号码区公式

F2=IFERROR(INDEX($M$1:$M$100,SMALL(IF($L$5:$L$100=$D4,ROW($L$5:$L$100),""),COLUMN(A$1)),1),"")

//此为数组公式,录入后,要按组合键Ctrl+Shift+Enter完成输入

右拉复制公式到G列,选中F2:G2下拉复制公式完成。

3.题中未要求身份证号码去重显示,如果需要,可以在参考区后再加1个辅助列,并对L至O列公式略加修改,通过对辅助列“*编码”重复性的判断直接将参考区变成不重复的,这样显示区就没有重复号码问题了(F/G列公式不用改)

P6=I6&J6

L6=IF(ISERROR($I6*1),"",IF(COUNTIF($P$5:$P6,$P6)>1,"",J6))

M6=IF(ISERROR($I6*1),"",IF(COUNTIF($P$5:$P6,$P6)>1,"",I6))

N6=IF(ISERROR(I6*1),IF(COUNTIF($P$5:$P6,$P6)>1,"",J6),"")

O6=IF(ISERROR(I6*1),IF(COUNTIF($P$5:$P6,$P6)>1,"",I6),"")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-06-16
如果无重名,在F4中输入或复制粘贴下列公式
=XLOOKUP(D4,J:J,I:I,"查无此人")
下拉填充
2021版,在F4中输入或复制粘贴下列公式
=TRANSPOSE(FILTER(I:I,J:J=D4))
下拉填充
第2个回答  2023-06-16
先全选I、J、K这三列,进行一次以I列为关键词的排序
F4
=INDEX(I:I,MATCH(D4,J:J,))
下拉即可
第3个回答  2023-06-15

公式如下图所示(低版本office需按ctrl+shift+enter产生花括号):

相似回答