当所有三列“姓氏,名字和DOB”在两张纸之间的任何行上匹配时,我需要在第三张纸上列出匹配行中的帐号。每张表中有数千行。某些帐户可能会有多个匹配项。我更喜欢将功能放在第3张纸上,以便我可以更改前2张中的列表而无需更新它们。
Sheet1
Acct # Last Name First Name DOB
89158 Stevens John 1/23/2012
Sheet2
Acct # Last Name First Name DOB
124578 Stevens John 1/23/2012
Sheet3
Sheet1 Acct # Sheet2 Acct#
89158 124578
提前谢谢!
答案 0 :(得分:0)
这适用于重复值
公式将需要作为数组输入(一旦复制并粘贴,但仍然在公式栏中点击 CTRL + SHIFT + ENTER )并调整范围以适合您的总价值。
=IFERROR(INDEX(Sheet1!$A$2:$D$50,MATCH(1,($C2=Sheet1!$B$2:$B$50)*($D2=Sheet1!$C$2:$C$50)*($E2=Sheet1!$D$2:$D$50),0),1),"No match found")
可以再次使用完全相同的公式,将Sheet1!
更改为Sheet2!
。
这将搜索Sheet3!C2
中的姓氏,Sheet3!D2
中的名字和Sheet3!E2
中的DOB。
我只是锁定了列,以防您希望将其用于大量数据并希望将其拖下来。
如果您想显示符合搜索条件且仅使用表3搜索一个人的其他帐号,则需要查看使用INDEX()
, MATCH()
和SMALL()
。
我也希望在我的回答中包含这个替代方案,但我现在正离开办公室。如果你挣扎,我不会花很长时间来召唤你,所以请给我一个评论,我很乐意解释它是如何运作的。
编辑:列出搜索条件中找到的所有ID - 将空白留在未找到的位置
=IFERROR(INDEX(Sheet1!$A$2:$D$50,SMALL(IF(COUNTIF($C$2,Sheet1!$B$2:$B$50)*COUNTIF($D$2,Sheet1!$C$2:$C$50)*COUNTIF($E$2,Sheet1!$D$2:$D$50),ROW(Sheet1!$A$2:$D$50)-MIN(ROW(Sheet1!$A$2:$D$50))+1),ROW(Sheet1!1:1)),1),"")
再次,将第1张替换为第2张并更新范围以匹配您搜索的内容,使用 CTRL + SHIFT + ENTER 在公式栏中,为了使公式成为一个数组,然后你可以将其向下拖动以涵盖所有可能的匹配,最好瞄准你认为最重复的ID数量。
让我知道你是如何得到的,如果这回答你的问题,请用左边的勾选标记为答案,谢谢。
答案 1 :(得分:0)
我最终将列表A和列表B放入表格然后使用此公式:= ISNA(MATCH(B2& C2& D2,I:I& J:J& K:K,0))然后我创建了另一张表,我添加了列表B,然后列出A并使用相同的公式。完成每张工作表的计算后,我使用过滤器仅列出每个电子表格中第一个列表的匹配项。
然后我拿了每张纸的比赛并在第三张纸上并排列出。我确保两个列表之间的排序匹配,然后能够一次滚动页面并识别每个系统中具有多个帐号的几个用户。
它不像我想的那样自动化,但它现在已经完成了。谢谢Stack Overflow!