我有两个Excel电子表格。一个(SheetA)有6000多行和20多列数据,另一个(sheetB)有~700行和~10列。 SheetB上的~700条目也应全部出现在SheetA上。 SheetB已更新SheetA中某些条目的信息,我想交叉检查信息以确保所有条目匹配。我需要比较变量列出的值" Counties"在SheetB上使用变量" SiteID"对照SheetA上的值。换句话说,我想确保对于SheetB上的每个SiteID,SheetA上的相应SiteID具有为Counties列出的相同值。
作为样本:
希达
Site ID Country
123XXX Smith
124XXX Doe
125XXX Smith
SheetB
SideID Country
123XXX Doe
124XXX Doe
SiteID 123XXX在SheetA和SheetB之间具有不同的值;我想举这个。 SiteID 124XXX具有相同的值;这可以。 SiteID 125XXX未出现在SheetB中;我可以忽略这一点。我需要做的是标记不一致并在SheetA上修复它们。
答案 0 :(得分:0)
我认为这在评论中已得到实际回答,但是为了记录不匹配的数量,请将其放入SheetB!C2: -
=COUNTIFS(SheetA!A$1:A$10,A2,SheetA!B$1:B$10,"<>"&B2)
您不能仅使用VLOOKUP或MATCH在SheetA上查找第一个匹配的站点ID,并将国家/地区与SheetB进行比较,因为第一个匹配的站点ID可能在列B上匹配,但可能会出现更多相同的站点ID那些不匹配,即你有这种情况: -
但您可以在(比方说)SheetB!D2中使用此数组公式来查找给定站点ID的第一个不匹配国家/地区: -
=IFERROR(MATCH(1,(SheetA!A$1:A$10=A2)*(SheetA!B$1:B$10<>B2),0),"")
要查找内容,您可以在SheetB中添加一个INDEX函数!E2: -
=IFERROR(INDEX(SheetA!B$1:B$10,MATCH(1,(SheetA!A$1:A$10=A2)*(SheetA!B$1:B$10<>B2),0)),"")
需要使用 Ctrl Shift 输入
输入前两个公式但是说了这一切之后,或许在条件格式中使用COUNTIFS公式强调SheetA中与SheetB不同的那些更有意义吗?
也可以列出位置&amp;多个不匹配的内容,但我会使用一点VBA来做到这一点。
Excel没有非常有用的连接功能,但您可以使用this之类的已发布功能为您提供
=stringconcat(",",IF((SheetA!A$1:A$10=A2)*(SheetA!B$1:B$10<>B2),ROW(SheetA!A$1:A$10),""))
表示多场比赛的位置
这是内容: -
=stringconcat(",",IF((SheetA!A$1:A$10=A2)*(SheetA!B$1:B$10<>B2),SheetA!B$1:B$10,""))
不保证这会有多快,但可能在6000行上没问题。
脚注 - 我想也许有一个名叫史密斯的国家有点不同寻常,但是有一个以人为名的几个国家的列表here - 并且有很多人以国家命名: - )