【问题标题】:Compare Two Pivot Tables比较两个数据透视表
【发布时间】:2015-09-26 19:14:37
【问题描述】:

我有两个数据透视表,一个在 A 列,一个在 B 列,它们的格式相同。

数据透视表有一个用户列表,每个用户下都有一个 ID 列表。

有没有办法可以将两个数据透视表相互比较?我想匹配两个表中的用户并查看哪些用户的 ID 重复。

为了帮助可视化,表格如下所示:

表一

-------------------------                                          
| DAVE  | asgh4 | lshg8 |                                         
| MATT  | 39f8  | 2352  |                                               
-------------------------

表 2

-------------------------
| PETER | dgghn  | lkasj|
| DAVE  | asgh4  | 38gfj|
-------------------------

我希望看到像“DAVE”和“asgh4”这样的匹配项,因为用户匹配并且 ID 匹配。有没有办法做到这一点?谢谢!

【问题讨论】:

    标签: excel excel-formula vba


    【解决方案1】:

    在没有 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))
    

    请注意,使用数组函数时,您必须指定列向下走多远,否则性能会显着滞后。

    【讨论】:

      猜你喜欢
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      相关资源
      最近更新 更多