Удалить дубликаты в столбце без смещения строк
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Удалить дубликаты в столбце Excel без сдвига ячеек и без удаления строк можно формулой во вспомогательном столбце =ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)>1;"";A2): она оставляет первое вхождение значения, а повторы заменяет пустой строкой. Затем столбец с формулами копируют и вставляют поверх исходного как значения. Штатный инструмент «Удалить дубликаты» так не умеет — он удаляет ячейки или строки целиком, а очистить повторы на месте в 2 клика можно процедурой !SEMTools.

Можно ли удалить повторяющиеся значения в столбце без смещения и удаления строк, чтобы данные не "перепутались"?

Проблема с удалением дублей в таблицах

Когда удалить дубли в столбце нужно без удаления строк, которые их содержат, стандартный инструмент удаления дубликатов в Excel не подходит:

  • Если выделить один столбец — он удаляет ячейки, смещая ячейки вверх, и целостность структуры табличных данных будет утеряна.
  • Если просто выделить все столбцы — он удалит только полностью дублирующиеся строки, причем удалит их совсем.
  • Можно выделить все столбцы и указать, по каким столбцам проверять дубликаты, но вторая проблема — полное удаление строк — не будет решена.

Именно эту задачу решает надстройка !SEMTools. Она позволяет удалить дубли из столбца, просто очищая содержимое ячеек.

Удалить дубли без сдвига ячеек формулой

СЧЁТЕСЛИ с «растущим» диапазоном $A$2:A2 считает, сколько раз значение встретилось с начала столбца до текущей строки. Для первого вхождения это 1, для повторов — больше, и формула возвращает пустую строку:

Удаление дублей без смещения строк
C3=ЕСЛИ(СЧЁТЕСЛИ($A$2:A3;A3)>1;"";A3)
ABC
1ПользовательДействиеБез повторов
2АннавизитАнна=ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)>1;"";A2)
3Анназаказ=ЕСЛИ(СЧЁТЕСЛИ($A$2:A3;A3)>1;"";A3)
4ОлегвизитОлег=ЕСЛИ(СЧЁТЕСЛИ($A$2:A4;A4)>1;"";A4)
5Аннавозврат=ЕСЛИ(СЧЁТЕСЛИ($A$2:A5;A5)>1;"";A5)
6Олегзаказ=ЕСЛИ(СЧЁТЕСЛИ($A$2:A6;A6)>1;"";A6)

Строки остались на своих местах, действия в столбце B не «съехали» — очищены только повторы имён. Чтобы оставить последнее вхождение, а не первое, отсортируйте таблицу по убыванию даты или номера визита.

В английском Excel: =IF(COUNTIF($A$2:A2,A2)>1,"",A2)

  1. Скопируйте столбец C (Ctrl+C).
  2. Выделите столбец A и вставьте как значения: Ctrl+Alt+V → «значения».
  3. Удалите вспомогательный столбец C.

Дубли по нескольким столбцам

Если повтором считается совпадение сразу в нескольких столбцах (например, пользователь и дата), используйте СЧЁТЕСЛИМН: =ЕСЛИ(СЧЁТЕСЛИМН($A$2:A2;A2;$B$2:B2;B2)>1;"";A2).

Очистить дубли через фильтр

Без вставки значений: добавьте столбец с формулой =СЧЁТЕСЛИ($A$2:A2;A2)>1, включите фильтр (Ctrl+Shift+L), оставьте только ИСТИНА, выделите видимые ячейки столбца A и нажмите Delete — очистятся только отфильтрованные повторы. Затем снимите фильтр и удалите вспомогательный столбец.

Удалить дубли без смещения строк с !SEMTools

Здесь мы хотим узнать, какое действие каждый из посетителей совершил в последнем визите. Для этого:

  1. Сортируем таблицу по номеру визита по убыванию;
  2. Удаляем все дубли имени пользователя, кроме первого (это будет последний визит пользователя), получим нужные нам строки для фильтрации.
Удалить дубликаты в столбце без смещения
Пример - как удалить дублирующиеся значения в столбце без смещения строк с !SEMTools

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

Почему дубли удаляются не так

  • Данные в соседних столбцах «перепутались». Использовали «Данные → Удалить дубликаты» на одном столбце — он сдвигает ячейки вверх. Отмените (Ctrl+Z) и используйте формулу или процедуру из статьи.
  • Формула не считает дублями одинаковые на вид значения. Регистр СЧЁТЕСЛИ не различает, а лишние пробелы — различает. Удалите лишние пробелы.
  • Все ячейки стали пустыми после удаления столбца C. Формулы ссылались на исходный столбец — сначала вставьте результат как значения, потом удаляйте вспомогательный столбец.
  • На больших таблицах формула работает медленно. СЧЁТЕСЛИ с растущим диапазоном на десятках тысяч строк — тяжёлая операция. Используйте процедуру !SEMTools.

Удаление дублей без смещения: вопросы и ответы

А можно ли удалить дубли и одновременно посчитать уникальные значения в Excel?

Да, такая возможность есть, ее предоставляет стандартный функционал сводных таблиц и упрощенная и ускоренная процедура создания сводных таблиц в !SEMTools. Подробнее: как свести таблицу и удалить дубли.

Что, если значения в ячейках могут незначительно отличаться друг от друга?

Речь об удалении неявных дублей. В таких случаях потребуется процесс нормализации данных. Он включает в себя те или иные методы избавления от подобных отличий. В зависимости от вашего кейса, может потребоваться удалить все кроме букв и цифр, привести все ячейки в верхний или нижний регистр, произвести лемматизацию строк, упорядочить слова в ячейке по алфавиту. И уже после нормализации производить удаление дублей.

Можно ли найти дубликаты в столбце, не удаляя их?

Да, есть несколько способов решения этой задачи, подробнее: найти дубликаты.

Можно ли удалить дубли без сдвига ячеек формулой?

Да: =ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)>1;"";A2) во вспомогательном столбце, затем вставьте результат поверх исходного столбца как значения.

Удалить повторы в столбце без смещения строк — очистив только содержимое ячеек и оставив первое вхождение — можно в 2 клика с !SEMTools, без вспомогательных столбцов и вставки значений.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: как удалить дубли без сдвига ячеек

ЗадачаСпособ
Очистить повторы, не сдвигая строки=ЕСЛИ(СЧЁТЕСЛИ($A$2:A2;A2)>1;"";A2) + вставка значений
Повторы по нескольким столбцамСЧЁТЕСЛИМН с растущими диапазонами
Без формул и вставкиФильтр по повторам + Delete или процедура !SEMTools
Удалить строки-дубликаты целикомДанные → Удалить дубликаты

Надеюсь, на этой странице вы нашли то, что искали. Вас наверняка заинтересуют и похожие операции: найти дубликаты и заполнить пустые ячейки значениями выше.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*