Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Повторяющиеся значения в excel - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Повторяющиеся значения в excel
JIexa_74 Дата: Четверг, 14.06.2018, 11:33 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Здравствуйте. Возник вопрос. Прикрепил эксель.

Нужно, удалить повторяющиеся значение в строке. Те, повторяющиеся значения именно в одной строке.

Те. проверка на уникальность должна проходить только по конкретной строке. Т.е. Если найден дубль в A1, то дубль удалить. Было:" GX100, GX101, GX100, GX105, JZX105". Стало: "GX100, GX101, GX105, JZX105"
Важно сохранить пунктуацию, т.е. запятые и пробелы.

И таких строк в экселе будет 10000, где нужно проверить и удалить дубли.

Есть мысли у кого нибудь? Помогите пожалуйста.
К сообщению приложен файл: 8159326.xlsx (8.0 Kb)
 
Ответить
СообщениеЗдравствуйте. Возник вопрос. Прикрепил эксель.

Нужно, удалить повторяющиеся значение в строке. Те, повторяющиеся значения именно в одной строке.

Те. проверка на уникальность должна проходить только по конкретной строке. Т.е. Если найден дубль в A1, то дубль удалить. Было:" GX100, GX101, GX100, GX105, JZX105". Стало: "GX100, GX101, GX105, JZX105"
Важно сохранить пунктуацию, т.е. запятые и пробелы.

И таких строк в экселе будет 10000, где нужно проверить и удалить дубли.

Есть мысли у кого нибудь? Помогите пожалуйста.

Автор - JIexa_74
Дата добавления - 14.06.2018 в 11:33
Manyasha Дата: Четверг, 14.06.2018, 11:46 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
JIexa_74, здравствуйте, например так:
[vba]
Код
Sub remove_dbl()
    Dim lr&, i&, tmp
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 1 To lr
        tmp = Split(Cells(i, 1), ", ")
        If UBound(tmp) Then
            With CreateObject("scripting.dictionary")
                For j = 0 To UBound(tmp)
                    .Item(tmp(j)) = j
                Next j
                Cells(i, 1) = Join(.keys, ", ")
            End With
        End If
    Next i
End Sub
[/vba]
К сообщению приложен файл: 8159326-1.xlsm (15.2 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеJIexa_74, здравствуйте, например так:
[vba]
Код
Sub remove_dbl()
    Dim lr&, i&, tmp
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 1 To lr
        tmp = Split(Cells(i, 1), ", ")
        If UBound(tmp) Then
            With CreateObject("scripting.dictionary")
                For j = 0 To UBound(tmp)
                    .Item(tmp(j)) = j
                Next j
                Cells(i, 1) = Join(.keys, ", ")
            End With
        End If
    Next i
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 14.06.2018 в 11:46
StoTisteg Дата: Четверг, 14.06.2018, 11:46 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Мысль очень простая. Транспонируем спецвставкой на другой лист, удаляем дубликаты, очищаем исходный лист, транспонируем спецвставкой. Если грубо, где-то так.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеМысль очень простая. Транспонируем спецвставкой на другой лист, удаляем дубликаты, очищаем исходный лист, транспонируем спецвставкой. Если грубо, где-то так.

Автор - StoTisteg
Дата добавления - 14.06.2018 в 11:46
JIexa_74 Дата: Четверг, 14.06.2018, 12:20 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Manyasha, спасибо большое!!
 
Ответить
СообщениеManyasha, спасибо большое!!

Автор - JIexa_74
Дата добавления - 14.06.2018 в 12:20
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!