1

У меня большой объем данных (около 1 000 000 строк данных). Какой самый быстрый способ найти уникальные значения для одного столбца?

[Редактировать] Я не уверен, насколько много повторяются данные или есть много уникальных значений. Я хочу только уникальное. Можно удалить дубликаты значений в исходном наборе. Или возьмите уникальный набор и скопируйте в столбец рядом с ним.

Да, 1 000 000 строк это много, но я не могу использовать какую-либо базу данных, чтобы помочь. [/Редактировать]

Я знаю ленту данных, расширенный вариант. Это медленно и кажется цикличным на некоторое время.

Мой Excel - версия 2013 года.

Благодарю.

1 ответ1

1

Самый быстрый способ найти и извлечь уникальные значения для большого диапазона данных - MACRO (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 Editor выберите «Меню инструментов», нажмите « Ссылки» и проверьте, установлен ли Microsoft Scripting Runtime или нет, проверьте его, если нет.
  2. Вернуться к листу и запустить макрос.
  3. Он проверяет дубликаты в столбце A и выводит уникальный в столбце B.

Вы найдете список уникальных значений в столбце B.

Обратите внимание, при необходимости измените ссылки на ячейки в коде.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .