Excel:查找大量数据中唯一值的最快方法

Excel:查找大量数据中唯一值的最快方法

我有大量数据(约 1,000,000 行数据)。查找一列的唯一值的最快方法是什么?

[编辑] 我不确定数据如何重复很多次或存在许多唯一值。我只想要唯一的值。可以删除原始集合中的重复值。或者取唯一集合并复制到旁边的列。

是的,1,000,000 行很多,但我无法使用任何数据库来帮助。[/编辑]

我知道数据功能区、高级选项。它很慢,有时似乎会循环。

我的excel是2013版本的。

谢谢。

答案1

查找和提取大数据范围的唯一值的最快方法是宏(VBA)。

在此处输入图片描述

将此代码作为标准模块随工作表插入。

Option Explicit

Sub GetUniqueList()

Dim d As Object, c As Variant, i As Long, lr As Long
Set d = CreateObject("Scripting.Dictionary")
lr = Cells(Rows.Count, 1).End(xlUp).Row
c = Range("A2:A" & lr)
For i = 1 To UBound(c, 1)
  d(c(i, 1)) = 1
Next i
Range("B2").Resize(d.Count) = Application.Transpose(d.keys)
End Sub

怎么运行的:

  1. 在 VB 编辑器中单击工具菜单和点击参考并检查是否 Microsoft 脚本运行时是否被选中,如果没有,则选中。
  2. 返回工作表并运行宏。
  3. 它检查 A 列中的重复项并在 B 列中输出唯一值。

您会在 B 列中找到唯一值的列表。

笔记,根据需要调整代码中的单元格引用。

相关内容