С Новым годом! Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/120: Рейтинг темы: голосов - 120, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 02.07.2013
Сообщений: 4

Как удалить дубликаты (оба)

02.07.2013, 14:23. Показов 24367. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Прошу подсказать, как удалить дублирующиеся электронные адреса в Exel.
Суть в том, что они должны удаляться оба, (обычно удаляется один, остается уникальный).

Например:

До операции:

1@mail.ru
2@mail.ru
1@mail.ru

После удаления дубликатов:

2@mail.ru


Может, кто-то накидает макросы или еще как-то?
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.07.2013, 14:23
Ответы с готовыми решениями:

Как удалить дубликаты в OFFSET
Всем привет. Есть такая формула =OFFSET('Source'!$E$2;MATCH(C6;'Source'!$E:$E;0)-2;1;COUNTIF('Source'!$E:$E;C6);1) в динамически...

Удалить дубликаты в строке
Всем привет, не могу никак разобраться, что-то глюкануло у человека и два раза продублировались в таблице квартиры, ну где они есть. Не...

Удалить дубликаты и сложить значения
Здравствуйте, не подскажите как удалить дубликаты по столбцу "Услуга", но при этом числа из удалённых строк сложились в оставшуюся запись....

15
6024 / 3218 / 719
Регистрация: 23.11.2010
Сообщений: 10,758
02.07.2013, 14:46
Условным форматированием выделить повторяющиеся значения и затем удалить их
0
0 / 0 / 0
Регистрация: 02.07.2013
Сообщений: 4
02.07.2013, 14:51  [ТС]
Не очень удобно вручную удалять 3-5 тыс ячеек....(

Добавлено через 2 минуты
Хотя смотрю, можно через сортировку эти цветные ячейки поднять наверх, выделить и удалить)
Спасибо)

Нам, не программистам, сложно жить в этом мире мулитизадачности)))
0
36 / 36 / 0
Регистрация: 18.06.2013
Сообщений: 84
05.07.2013, 08:22
333k, на будущее. сначала выборку надо обяз-но отсортировать в любом порядке (возр/убывание) и потом удалить по 2м фильтрам строки (там где истина).
Вложения
Тип файла: xlsx 333k.xlsx (9.5 Кб, 177 просмотров)
1
1 / 1 / 0
Регистрация: 29.07.2015
Сообщений: 9
11.01.2016, 05:47
"можно через сортировку эти цветные ячейки поднять наверх, выделить и удалить)"
"на будущее. сначала выборку надо обяз-но отсортировать в любом порядке (возр/убывание) и потом удалить по 2м фильтрам строки (там где истина)."
На скриншоте я показал как сделать.
В четыре шага: Excel 2010
Все делаем на первой вкладке Главная.
1.Выделяем нужный диапазон (в одном столбце - это понадобится при удалении дубликатов при их сортировке перед удалением в одном столбце, - если в двух столбцах - то я копирую из второго значения, весь, и переношу в конец после первого столбца, таким образом всё - в одном столбце [[может так и не надо делать, - не знаю]].
2. Стили-> Условное форматирование->Правила выделения ячеек->Повторяющиеся значения
2. Выбираю Форматировать значения которые содержат:
"повторяющиеся"
значения с
"Светло-красная заливка и тёмно-красный текст"
3. Затем выделяю тот же самый диапазон, Выбираю Редактирование-> Сортировка и фильтр->Настраиваемая сортировка:
Сортировать по:
Столбец A
Сортировка:
Цвет шрифта(можно Цвет Ячейки)
Порядок:
Вместо "Авто" жму выпадающий список справа в виде стрелочки-треугольничка направленного вниз, выбираю нужный мне цвет RGB (156, 0, 6) и выбираю в Следующем выпадающем Списке "Сверху" - если потом буду удалять отфильтрованные дубликаты сверху, или выбираю "Снизу" - если потом просто скопирую сверху нужные мне отфильтрованные значения, уникальные, не-дубликаты, и вставлю их в другую таблицу.
Можно Добавить в самом начале ещё один столбец с нумеровкой от одного к ста и далее по возрастанию, по порядку, чтобы потом после отфильтровыния и удаления дубликатов, можно было восстановить правильный изначальный порядок, оставшихся, неудаленных уникальных значений.
После чего жму: Добавить уровень и Добавляю ещё одно условие:
Затем по:
Столбец A
Сортировка:
Значения
Порядок:
От А до Я
Жму Ок
4. В отфильтрованном списке столбце: Выделяю выделенные сверху цветом дубликаты (Если в Порядок было выбрано "Сверху), и удаляю со сдвигом вверх - получаю только уникальные значения.
Или выделяю уникальные строки сверху (Если в Порядок было выбрано "Снизу") игнорируя выделенные цветом дубликаты внизу, и копирую в другую нужную мне таблицу или текстовый файл, текстовый документ, другой редактор.
и Добавлю ещё пункт
4.1(5!)- После чего иду в Стили-> Условное форматирование-> Удалить правила-> Удалить со всего листа (или можете вырать Удалить Из выбранного диапазона - если вам надо только удалить только из выбранного диапазона а в остальном диапазоне - оставить) -> Удаляю - (Так как в оставшихся пустых ячейках, в диапозоне, или на всем листе, правила Всё равно Остаются, даже после удаления дубликатов, и удут также форматировать новые значения при появлении дуликатов, а это скажем мне совсем не надо, предположим, будет )
- Это на Всякий случай, потому что Потом, когда в освободившихся после удаления дуликатов ячеек я ввожу новые значения и там появляются дубликаты (которые мне вовсе скажем теперь удалять не нужно) - то они опять выделяются красным цветом шрифта и светло-красным цветом ячеек, а это Теперь мне скажем совсем не надо, предположим
А лучше потом занового создам Правила и отфильтрую по выше обозначенному образцу, если снова станет надо
Всё! Вот теперь уж Точно Всё!
На самом деле не так всё долго как написано, А наделе - очень быстро, как особенно набъёте руку.
Возможно даже можно написать макрос, какой, чтоб делал всё в один клик, при нажатии кнопочки какой одной - не знаю, не умею.
Миниатюры
Как удалить дубликаты (оба)   Как удалить дубликаты (оба)   Как удалить дубликаты (оба)  

Как удалить дубликаты (оба)   Как удалить дубликаты (оба)   Как удалить дубликаты (оба)  

Как удалить дубликаты (оба)   Как удалить дубликаты (оба)   Как удалить дубликаты (оба)  

Как удалить дубликаты (оба)  
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
11.01.2016, 09:25
Не проще ли протянуть рядом элементарно COUNTIF/СЧЁТЕСЛИ, затем отсортировать или фильтром отобрать всё что не 1 и удалить вручную. Макрос писать дольше.

Добавлено через 4 минуты
Хотя в новых версиях действительно проще с УФ, не нужно писать/тянуть формулу.
0
132 / 108 / 22
Регистрация: 23.06.2015
Сообщений: 339
11.01.2016, 10:33
добрый день,вариант макроса,кнопка yyy


Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub yyy()
    Dim z,i&
    z = Range("A1:A" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Value
   With CreateObject("scripting.dictionary"): .CompareMode = 1
      For i = 1 To UBound(z)
           If .exists(z(i, 1)) = False Then .Item(z(i, 1)) = 0 Else .Item(z(i, 1)) = 1
      Next
    For i = UBound(z) To 1 Step -1
       If .Item(z(i, 1)) = 1 Then Rows(i & ":" & i).Delete
    Next
  End With
End Sub
Вложения
Тип файла: xls example_11_01_2016_cbr.xls (43.5 Кб, 116 просмотров)
1
877 / 517 / 166
Регистрация: 30.03.2013
Сообщений: 1,079
11.01.2016, 15:38
Формулой.
Вложения
Тип файла: xlsx mail.xlsx (9.2 Кб, 102 просмотров)
0
1 / 1 / 0
Регистрация: 29.07.2015
Сообщений: 9
12.01.2016, 19:13
Svsh2015 https://www.cyberforum.ru/post8604616.html Круто!
А как сделать обратную операцию?
- Удалить все уникальные значения - которые встечаются только один раз, и оставить только дубли, независимо от того сколько раз они повторяются, 2 , 3, 4 , 5 или более
Только главное чтоб единичные результаты, не-дубли, уникальные, были удалены.
Как на картинке (см. скриншот)
Если можно - не только макрос - но и последовательность действий вручную, без макроса, то есть оба варианта (если не трудно) -
Миниатюры
Как удалить дубликаты (оба)  
0
877 / 517 / 166
Регистрация: 30.03.2013
Сообщений: 1,079
12.01.2016, 21:05
Предлагаю такой вариант.
Вложения
Тип файла: xlsx mail.xlsx (9.8 Кб, 30 просмотров)
0
1 / 1 / 0
Регистрация: 29.07.2015
Сообщений: 9
12.01.2016, 21:17
Цитата Сообщение от Czeslav Посмотреть сообщение
Предлагаю такой вариант.
Как я понимаю это вариант формул с привязкой к номерам ячеек (в каждой ячейке формулы результирующего столбца - придётся вводить вручную номера ячеек, в зависимости от того какой диапазон мне каждый раз нужен?)
То есть если там не 10 значений а 11, 15 - Надо вручную лезть каждый раз номера править
И если значений 2365 (строк)
10123 - То это уже крайне неудобно
Или есть другой, более простой способ расширить вашу формулу на нужное количество ячеек?
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
12.01.2016, 23:37
Цитата Сообщение от Dvorik_i_sad Посмотреть сообщение
как сделать обратную операцию?
- Удалить все уникальные значения - которые встечаются только один раз,
Visual Basic
1
If .Item(z(i, 1)) = 0 Then Rows(i & ":" & i).Delete
Там в коде всего две работающие строки, могли и сами поанализировать...
1
1 / 1 / 0
Регистрация: 29.07.2015
Сообщений: 9
13.01.2016, 03:20
Цитата Сообщение от Hugo121 Посмотреть сообщение
Visual Basic

If .Item(z(i, 1)) = 0 Then Rows(i & ":" & i).Delete
Там в коде всего две работающие строки, могли и сами поанализировать...
Круто!
Спасибо!

Действительно работает: (назвал его xxx, чтоб отличать от yyy- где только уникальные значения оставляет)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub xxx()
Dim z, i&
    z = Range("A1:A" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Value
    With CreateObject("scripting.dictionary"): .CompareMode = 1
    For i = 1 To UBound(z)
         If .exists(z(i, 1)) = False Then .Item(z(i, 1)) = 0 Else .Item(z(i, 1)) = 1
   Next
  For i = UBound(z) To 1 Step -1
  If .Item(z(i, 1)) = 0 Then Rows(i & ":" & i).Delete
  Next
   End With
End Sub
Прошу меня простить, Я не силён в макросах, точнее вообще не силён, точнее - ноль.
Сам бы не осилил и сам бы до этого не допер.
Даже если всего в одной строчке пару символов кода подправить.
В Excel - я в принципе абсолютный newbie.
Большое спасибо!

А не подскажите, какую строку кода надо добавить в выше приведённый мною код, что он после обработки ещё отсортировал по алфавиту или числовому значению(если числа) полученное значение, результат выполнения.
Чтоб не приходилось лишний раз лезть в: Редактирование-> Сортировка и фильтр-> Сортировка от А до Я

Спасибо!
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
14.01.2016, 22:23
Включите рекордер, затем один раз залезьте в: Редактирование-> Сортировка и фильтр-> Сортировка от А до Я, отсортируйте как нужно, выключите рекордер.
Добавьте код или его вызов в этот макрос перед end sub.
А для понимания кода на словаре переведу строку 6:
если в словаре нет значения z(i, 1) (т.е. из первого столбца, который взят в массив), то добавляем его в словарь как ключ с значением 0, если же уже есть - то меняем значение на 1 (присваиваем 1).
Соответсвенно позже в другом цикле идёт проверка этого значения - по результату удаляем строку.
1
132 / 108 / 22
Регистрация: 23.06.2015
Сообщений: 339
15.01.2016, 01:15
добрый вечер,Dvorik_i_sad,ответ на #9,на рисунке,макрос,кнопка yyy1

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub yyy1()
    Dim z, i&
    z = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
 With CreateObject("scripting.dictionary"): .comparemode = 1
        For i = 1 To UBound(z): .Item(z(i, 1)) = .Item(z(i, 1)) + 1
        Next
   For i = UBound(z) To 1 Step -1
      If .Item(z(i, 1)) = 1 Then Rows(i & ":" & i).Delete
   Next
 End With
 sort
   End Sub
Вложения
Тип файла: xls example_15_01_2016_cbr1.xls (40.5 Кб, 31 просмотров)
1
1 / 1 / 0
Регистрация: 29.07.2015
Сообщений: 9
15.01.2016, 01:32
Спасибо большое, Hugo121!
Что уделяете внимание и подсказываете!

Буду изучать и попробую!

Спасибо большое, Svsh2015!, За отзывчивость!
Раньше макросами не пользовался. Оказывается крутая штука!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2016, 01:32
Помогаю со студенческими работами здесь

Удалить дубликаты с условием по приоритету
Подскажите как можно удалить дубликаты с условием по приоритету(если просто удалять кнопкой "удалить дубли" то проверка...

Удалить дубликаты (уникальные значения)
Добрый день! Помогите, пожалуйста, удалить дубликаты с уникальными значениями. Например: #малышимама 12378,000 #малышимама...

Как удалить дубликаты в бд
Есть таблица time в ней поля name и status. в поле name встречаются дубликаты как их можно удалить что бы остались только уникальные поля...

Как удалить дубликаты из массива
Всем привет как удалить дубли из массива Array ( 'Kia' => Array ( '0' => 'Sportage', ...

Как удалить дубликаты из файла?
Здравствуйте. Хотел обратится за помощью. У меня есть файл, где имеются дубликаты. Файл выглядит таким образом:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru