我有两个数据透视表,一个在 A 列,一个在 B 列,它们的格式相同。
数据透视表有一个用户列表,每个用户下都有一个 ID 列表。
有没有办法可以将两个数据透视表相互比较?我想匹配两个表中的用户并查看哪些用户有重复的 ID。
为了帮助可视化,这些表看起来像这样:
表格1
-------------------------
| DAVE | asgh4 | lshg8 |
| MATT | 39f8 | 2352 |
-------------------------
表 2
-------------------------
| PETER | dgghn | lkasj|
| DAVE | asgh4 | 38gfj|
-------------------------
我想看到像“DAVE”和“asgh4”这样的匹配,因为用户匹配并且 ID 匹配。有没有办法做到这一点?谢谢!
最佳答案
在没有 VBA 的情况下,有两种广泛的方法可以实现这一目标。首先是在每个数据透视表旁边创建一个“帮助列”。在该列中,从第 1 行开始并向下拖动,键入(假设名称在 A 列,ID 在 B 列)
=A1&B1
然后在两个表中完成后,使用 MATCH 函数确定是否有任何 NAME&ID 字符串匹配,就像这样,从 sheet1 上的单元格 D1 开始(假设 NAME&ID 字符串在 C 列中):
=match(C1,Sheet2!C:C,0)
如果它显示一个数字,则表示在另一张表中找到了匹配项。如果它显示 N/A#,则没有找到匹配项。要稍微清理一下,请将其包装在函数 ISERROR 中,如下所示:
=iserror(match(C1,Sheet2!C:C,0))
如果它在单元格中显示为 TRUE,则意味着 MATCH 函数没有找到匹配的数据,这会产生错误。如果它显示为 FALSE,则表示找到了匹配项,这意味着存在重复值。
或者,您可以在不创建辅助列的情况下执行此操作,但如果您不熟悉数组公式,我不建议您这样做。
将此公式放入 Sheet1 的单元格 C1 中,然后向下拖动(键入公式时,按 CTRL + SHIFT + ENTER 确认,而不是仅按 ENTER):
=iserror(match(A1&B1,sheet2!A1:A100&sheet2!B1:B100))
请注意,对于数组函数,您必须指定列向下的距离,否则性能将显着滞后。
关于excel - 比较两个数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31300092/