【问题标题】:Keep all rows whose 1st cell matches other rows' 1st cell保留第一个单元格与其他行的第一个单元格匹配的所有行
【发布时间】:2018-03-26 21:43:27
【问题描述】:

在一个 excel 表(500K+ 行)中,我想只保留那些行所有这些行,其 A 列 100% 与其他行的 A 列。这与 B、C 等列中的内容无关,但必须对行进行整体排序(即,不能分解行)。将删除 A 列与至少另一行的 A 列不是 100% 相同的行。

我正在寻找可能的解决方案,而不是使用=COUNTIF(A:A,A1)=1

比如原表:

coumnA     columnB
abc        123
0xyz       xxx
aaa-123    123
aaa-12     0xyz
0xyz       098
00xyz      098
0xyz       x111xx

保留所有出现的行与 100% 相同的列 A:

0xyz       xxx
0xyz       098
0xyz       x111xx

此公式=COUNTIF(A:A,A1)=1 可识别列 A 的倍数并适用于一小组行。有没有更好、更有效的方法来使用接近 Excel 工作表限制的行数(1,048,576 行)?

【问题讨论】:

  • 当您说=COUNTIF(A:A,A1)=1 遗漏了一些合法的重复行时,您确定“重复”实际上是相同的 - 例如一个比另一个有更多的尾随空格吗?
  • 为什么0xyzA 列中出现在预期输出中的唯一值?
  • =COUNTIF(A:A,A1)=1 似乎适用于小样本,但不适用于 500K 行。
  • 0xyz唯一恰好出现在 A 列的多行中。
  • 如果您真的有 500K 行,我可以建议您考虑将数据移动到数据库表中吗?

标签: excel sorting text excel-formula duplicates


【解决方案1】:

=COUNTIF(A:A,A1)=1 的替代方法是创建一个数据透视表,其中 ColumnA 用于 ROWS,ColumnA Count 用于 VALUES。然后在 PT 中查找 A 值,如果它们的计数为 1 则标记它们,因此通过对标记进行过滤,可能会删除行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-20
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多