【问题标题】:How do I pick unique values comparing two different excel columns?如何选择比较两个不同的 excel 列的唯一值?
【发布时间】:2021-11-06 12:26:47
【问题描述】:

我目前正在从 Windows 目录导出 CSV 文件,并将端点与服务器文件进行比较。

我在 CSV 文件中有文件的 FullPath、FileName、Size 和 MD5 哈希值。

我们知道目录结构几乎相同,只有细微差别。

我试图在 excel 上实现的是获取具有相同名称但 MD5 不同的 MD5 值。

我目前的障碍是我无法找到一种方法来告诉 excel 遍历一个表并仅选择两个表(服务器和端点)上唯一的 MD5 哈希。

为简单起见,此表按名称排序,但在excel中我没有名称重合,
说:

ServerName ServerHash - EndName EndHash
NameA ABCD1234 - NameA ABCD1234
NameB DCBA4321 - NameB DIFFHASH
NameC HASHFINE - NameC HASHFINE
NameD ABCD1234 -

过滤后的结果:

ServerName ServerHash - EndName EndHash
NameB DCBA4321 - NameB DIFFHASH
NameD ABCD1234 -

我尝试“删除重复项”,但我认为该工具仅在同一列中查找,并且不会在 ServerHash 和 EndHash 之间进行交叉比较。

有更简单的方法吗?

谢谢

【问题讨论】:

  • 您想就地执行此操作吗?如果是这样,它将需要 vba。

标签: excel sorting unique


【解决方案1】:

因为您仍然要导入 CSV 文件,所以让我们使用 Power Query。

  • 从功能区的“数据”选项卡中,选择“来自文本/CSV”。导航到您的文件、导入,然后在出现的对话框中点击转换数据。

  • 如有必要,请从“主页”选项卡中选择“将第一行用作标题”。

  • 选择 ServerName 和 ServerHash 列 > 右键单击​​ > Merge Columns,使用 |分隔符。对 EndName 和 EndHash 列执行相同的操作。

  • 您现在应该只有两列。将它们与不同的分隔符合并在一起,例如冒号

  • 右键单击,按分隔符拆分列。选择冒号分隔符,点击高级,选择行而不是列。

  • 用 | 分割结果列分隔符。

  • 选择两列,从“转换”选项卡中选择“分组依据”,然后执行计数操作。现在您可以过滤掉任何计数为 2 或更大的内容。

  • 如果您需要跟踪 Server 和 End 哈希类型,您可以在进行任何合并之前创建两个自定义列,指明哈希类型,并将它们包含在初始列合并中。

【讨论】:

    【解决方案2】:

    您可能会从 COUNTIFS 中受益:

    COUNTIFS function

    我在 A 列的公式是:

    =COUNTIFS($E$3:$E$6;B3;$F$3:$F$6;C3)
    

    返回 0 值的行表示这些行是唯一的。

    【讨论】:

      猜你喜欢
      • 2017-01-21
      • 1970-01-01
      • 2021-11-20
      • 2020-12-05
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      相关资源
      最近更新 更多