MS Excel-匹配两张纸之间的3列.找到匹配时,将每个第四列从每个列复制到第三张纸



当所有三列"姓氏",名字和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并使用了相同的公式。一旦完成每个表的计算,我就使用过滤器仅列出每个电子表格中第一个列表的匹配项。

然后,

我对每张纸进行了比赛,并在第三张纸上并排列出。我确保将排序匹配在两个列表之间,然后能够一次浏览一个页面,并在每个系统中识别一些具有多个帐号的用户。

它不像我想要的那样自动化,但现在已经完成了。谢谢堆栈溢出!

最新更新