【发布时间】:2019-06-21 03:37:58
【问题描述】:
我正在尝试从 Excel 中的一列数字中删除所有重复值。我希望剩余的列仅包含原始表中的唯一值。
我尝试过使用 RemoveDuplicates 方法,但它只删除了重复项的单个实例,而不是全部。
我也尝试过使用以下代码,但它与 RemoveDuplicates 存在相同的问题。我不知道为什么,因为“唯一”标签设置为“真”。
{MYWORKSHEET]AdvancedFilter Action:= _
xlFilterCopy, CopyToRange:=[MYWORKSHEET].Range("B1"), Unique:=True
我只找到了一种理论上应该可行的解决方案,它使用嵌套的 For 循环遍历每一行并检查它是否与表中的任何其他行等效。唯一的问题是这会使我的机器上的 Excel 崩溃,因为它必须循环太多。除了这种蛮力方法,还有什么方法可以做到这一点?
这就是我要找的东西:
|-------| |----------------| |-------------------|
| INPUT | | DESIRED OUTPUT | | WHAT I DONT WANT |
|-------| |----------------| |-------------------|
| 11111 | | 11111 | | 11111 |
|-------| |----------------| |-------------------|
| 22222 | | 55555 | | 22222 |
|-------| |----------------| |-------------------|
| 33333 | | 33333 |
|-------| |-------------------|
| 22222 | | 55555 |
|-------| |-------------------|
| 33333 |
|-------|
| 55555 |
|-------|
【问题讨论】:
-
其他列中是否有需要保留的数据?
-
也许你可以结合使用循环和过滤器
-
每个数字,即使它有重复,也是一个唯一的数字。请回答@JimmyShoe 问题,您需要保留列数据吗?
-
@JimmyShoe 不,只有一列数据,我可以从工作表中完全删除每个重复项