У меня есть список из более чем 1000 названий компаний, однако некоторые из них дублированы, но они не являются точными дубликатами (например, Nintendo, Nintendo Inc, Nintendo Video games и т.д.), Есть способ идентифицировать дубликаты, чтобы я мог сгруппировать их все вместе?

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

Sub TestForDups()

Dim LLoop As Integer
Dim LTestLoop As Integer
Dim LClearRange As String
Dim Lrows As Integer
Dim LRange As String
Dim LChangedValue As String
Dim LTestValue As String

'Test first 2000 rows in spreadsheet for uniqueness
Lrows = 2000
LLoop = 2

'Clear all flags
LClearRange = "A2:A" & Lrows
Range(LClearRange).Interior.ColorIndex = xlNone

'Check first 2000 rows in spreadsheet
While LLoop <= Lrows
  LChangedValue = "A" & CStr(LLoop)

  If Len(Range(LChangedValue).Value) > 0 Then
     'Test each value for uniqueness
     LTestLoop = 2
     While LTestLoop <= Lrows
        If LLoop <> LTestLoop Then
           LTestValue = "A" & CStr(LTestLoop)
           'Value has been duplicated in another cell
           If InStr(Range(LTestValue).Value, Range(LChangedValue).Value) > 0 Then
              'Set the background color to red
              Range(LChangedValue).Interior.ColorIndex = 3
              Range(LTestValue).Interior.ColorIndex = 3

           End If

        End If

        LTestLoop = LTestLoop + 1

     Wend

  End If

  LLoop = LLoop + 1

Wend

End Sub

1 ответ1

0

Как упоминает @Scott Craner, существуют надстройки с нечетким поиском, которые можно подключить к Excel.

Загрузите подключаемый модуль Fuzzy Lookup от Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=15011.

Учебник по настройке и использованию нечетких поисков в Excel: http://www.k2e.com/tech-update/tips/431-tip-fuzzy-lookups-in-excel

Видеоруководство, показывающее, как использовать этот инструмент: https://www.youtube.com/watch?v=3v-qxcjZbyo

В плагине есть несколько довольно сложных алгоритмов сопоставления, поэтому неудивительно, что ваш скрипт не совсем реализует то, что вы хотели, с таким большим количеством кода. Хорошо, что вы пытаетесь, хотя!

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