Страницы: 1
RSS
Как удалить дубли слов внутри 1 ячейки?
 
Всем привет. Задача следующая, есть строки, в них дубли слов идут в совершенно разном порядке это может происходить. Слова должны проверяться без учета регистра. Тут уже попробовали помочь решить, но под винду, не учел что в маке работает иначе. Прикрепляю файл с прошлой ветки, возможно это ускорить процесс.  
 
Здравствуйте. К сожалению, Mac не знает ничего про словари, поэтому оба макроса не работают.
Могу предложить готовое решение отсюда
http://www.excelworld.ru/board/vba/udf/remove_repeat_in_string/8-1-0-48
Пользовательская функция
Код
Function NoDupesAtString(rng As Range, _
         Optional sep As String = " ", _
         Optional buReg As Long = 0) As String
        ' формула на листе имеет вид: =NoDupesAtString(A4;", ";1)
        ' A4 - ячейка, в которой нужно удалить повторы
        ' ", " - разделитель (по умолчанию пробел)
        ' 1 - без учета регистра (0 - с учетом регистра, по умолчанию)
    Dim v, s As String: s = sep
    If buReg = 0 Then
        For Each v In Split(rng.Value, sep)
            If Len(v) Then If InStr(s, sep & v & sep) = 0 Then s = s & v & sep
        Next
    Else
        For Each v In Split(rng.Value, sep)
            If Len(v) Then If InStr(UCase(s), sep & UCase(v) & sep) = 0 Then s = s & v & sep
        Next
    End If
    NoDupesAtString = Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
 
Pelena, благодарю!
Страницы: 1
Наверх