【问题标题】:Removing entries from another file从另一个文件中删除条目
【发布时间】:2012-02-22 19:45:21
【问题描述】:

我有两个非常大的文件,我们称之为旧文件和新文件。新包含旧包含的许多条目。我需要做的是从 New 中删除 Old 包含的任何条目。 Old 中有 9,459 个条目,共 55 列。新包含 76 列的 11,983 个条目。我需要根据 5 列进行比较; “name_last”、“name_first”、“name_middle”、“street”和“type”

我正在使用 Excel 2010,我对它非常陌生,不知道从哪里开始。

【问题讨论】:

    标签: excel duplicates filtering


    【解决方案1】:
    • 在每个文件中组成一个连接列,将“name_last”、“name_first”、“name_middle”、“street”和“type”“粘合”在一起。就像是 这个
      =LOWER(A2&B2&C2&D2&E2)LOWER 可让您运行不区分大小写的搜索)

    • 添加这样的公式(更改工作表名称和列以适合)
      =ISNA(MATCH(F2,[old.xlsx]Sheet2!$F:$F,0)) 根据“old.xls”中的整个串联值列表查找“new.cls”的 F 列中的每个值

    • 自动过滤TRUE 结果以返回不匹配的结果,然后删除这些行

    【讨论】:

    • 非常抱歉,这一切都在我脑海中。 =[ 我发现了“表格”的东西,所以现在我在同一个 xlsx 文件中有旧的和新的。我已将这两个文件导出到制表符分隔的文本文件,然后使用记事本手动将文件粘合在一起,然后导入文本文件。现在我有一个巨大的文件。有没有办法只显示基于双重条目的行?
    • @andrewjackson 您好,您现在解决了吗?您已将其标记为已接受?您可以在一个文件内的两个单独的工作表上运行相同的方法
    • 我还没有解决。我不确定我做错了什么。我在两个文件中都有我的唯一值列,唯一文件位于 A 列。我在 B 下创建了一个单独的列,因此存储我的布尔值。所以我使用了=ISNA(MATCH(A2,[old.xlsx]Sheet2!$A:$A,0)),我知道它不在old.xlsx 中,我是真的。然后我对我知道在 old.xlsx 中的=ISNA(MATCH(A3,[old.xlsx]Sheet2!$A:$A,0)) 做同样的事情,但我仍然是真的。
    • 好的,我刚刚意识到我忘记将“Sheet2”更改为正确的工作表名称。现在如何自动将其应用于所有列,因此我不需要不断更改MATCH 的第一个值?大约有 10k 个条目。
    • 好的,我想通了。我现在使用=ISNA(MATCH(A:A,[old.xlsx]Sheet4!$A:$A,0))
    猜你喜欢
    • 1970-01-01
    • 2021-01-22
    • 2011-06-14
    • 2018-04-11
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多