连接两列,查找重复项将单行复制到新工作表

连接两列,查找重复项将单行复制到新工作表

我有一个包含 5,000 行和 20 列的 Excel 或 CSV 文件。我想连接柱子6和第 8 栏,查找重复项,然后将其中一个重复项复制到 WorkSheet2 中。

例如

工作表1

Column6  Column7     Column 8
 
275s     ABC         123

333s     ABC         111

275s     ZZZ         123

275s     DSD         123

333s     ???         111

275s     asd         999

连接第 6 列和第 8 列的结果将导致第 1、3 和 4 行重复。

第 2 行和第 5 行也是重复的。

然后 worksheet2 应该是:

Column6  Column7     Column 8
 
275s     ABC         123

333s     ABC         111
 
275s     asd         999

答案1

VBA 可能不是必需的。辅助列在这里是你的好朋友。尝试以下公式

  1. 假设Column6EColumn 8是,并且下面的辅助列从/G开始Column9H
  2. 如果你的数据在 a 中DataTable,则可以使用另一种语法选项

R1C1

  • =Concatenate( E2, F2, G2 )<--H
  • =Concatenate( E2, G2 )<--I
  • =CountIfs( I:I, I2 )<--J
  • =Row()<--K
  • =IF( J2=1, H1, INDEX(H:H, AGGREGATE( 15,6,K:K/--(I:I=I2), 1 ) ) )<--L

ColumnL将返回 Column 中找到的第一个行值,H作为 Column 中唯一的连接值I。如果您的数据集非常大,该Index( Aggregate() )方法可能会溢出并失败。但假设它有效,您可以Copy-Paste Values Only从 ColumnL进入新的工作表并删除重复项(Alt+ A+M调出对话框)。如果您在 Column 中分隔连接H,它将有助于将值拆分回新工作表中的列中。

相关内容