当所有三列"姓氏",名字和dob"在2张之间的任何行上匹配时,我需要从第三张纸上列出的匹配行中获得帐号。每张纸中有成千上万的行。某些帐户可能会有多个匹配项。我更喜欢将功能放在第三板上,以便可以在前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
预先感谢您!
这与重复值一起使用
将需要将公式以一个数组输入(一旦复制和粘贴在公式栏hit ctrl shift> shift enter 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),"")
再次替换表2的表1并更新范围以匹配您正在搜索的内容,请使用 ctrl shift enter 在公式栏中,将公式为数组,然后您可以将其拖动以覆盖所有潜在的匹配项,最好将您认为是最多的重复ID。
让我知道您的情况,如果回答了您的问题,请标记为使用左侧的tick的答案,谢谢。
我最终将列表A和列表B放入表格中,然后使用此公式:= isna(match(b2& c2& d2,i:i:i:i& j:j& k::k,0))然后创建了另一个表格,在其中添加了列表B,然后列出A并使用了相同的公式。一旦完成每个表的计算,我就使用过滤器仅列出每个电子表格中第一个列表的匹配项。
然后,我对每张纸进行了比赛,并在第三张纸上并排列出。我确保将排序匹配在两个列表之间,然后能够一次浏览一个页面,并在每个系统中识别一些具有多个帐号的用户。
它不像我想要的那样自动化,但现在已经完成了。谢谢堆栈溢出!