【问题标题】:Table Difference in ExcelExcel中的表差异
【发布时间】:2018-06-07 05:47:42
【问题描述】:

在 Excel 中,我如何获得 2 个表格之间的差异?

我有 2 张桌子:A 和 B。
B 是 A 的子集。换句话说,B 的所有行/记录都包含在 A 中,但反之则不然。

我想得到
A - B
即我想要一个输出,它只给我在 A 中但不在 B 中的记录。

另外,更一般地说,如果 B 不是子集,我将如何获得
A∪B - A∩B?

【问题讨论】:

  • 您可以将它们与IF 语句进行比较。你提供了多少信息,我只能给你这些。
  • @ashleedawg 谢谢!但我不确定我是否理解 IF 语句在这里到底有多大用处。目前,我在不同的文件/工作簿中有 2 个“表”。但是我可以很容易地将它们作为不同的工作表放入同一个工作簿,甚至在同一个工作表中作为不同的范围......
  • @ashleedawg 我看不出这是stackoverflow.com/questions/7074/…的副本
  • 您可以使用 =MATCH 在表 A 中添加一个辅助列,以检查它是否也在表 B 中,然后过滤该辅助列。
  • 谢谢@Pᴇʜ 我确实最终使用了这种相当机械的方式...=IF(ISERROR(MATCH(A1,$B$1:$B$19902,0)),"Unique","Duplicate"),然后过滤和复制粘贴....表格并不大....大约 20k 行,所以它起作用了。

标签: sql excel excel-formula excel-2010 vba


【解决方案1】:

如果只对数据集执行一次,我通常使用VLOOKUP 来实现此目的。只要在大表上写一个VLOOKUP公式,小表中没有的行就会返回#N/A错误。当我们过滤掉错误行时,我们会留下减去的行。

另一方面,这也可以使用 Power Query 来实现,恕我直言,这是一种更清洁的方式。对于 Excel 2010,您应该下载并安装它。对于较新版本,Power Query 原生包含在 Excel 中。

我可以解释 Office 365 的流程,因为我有那个版本;对于以前的版本,可能会有细微的变化。

  • 首先使用 Data / From Table/Range 菜单将您的表导入 Power Query。
  • 当您将两个表都添加到 Power Query 后,右键单击左侧 查询 窗格中的空白区域,然后转到 新建查询/合并/合并查询为新的 strong> 菜单:

  • 在此屏幕中,选择您的表格(首先选择较大的表格),CTRL 选择要减去的表格字段并在底部组合中选择Left Anti。当您确定时,您将有一个减去的新表。

* 在 Home 菜单中选择 Close & Load,您的新表格将出现在 Excel 的新工作表中。 * 当原始表格发生变化时,只需在 Excel 中按数据/刷新,生成的表格就会相应刷新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2019-05-15
    • 1970-01-01
    • 2015-10-17
    相关资源
    最近更新 更多