Удалить данные в Excel по условию: инструменты
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑
удаление данных в excel с !SEMTools
Группа «УДАЛИТЬ» на панели !SEMTools

Удалить лишние данные в Excel формулами можно на любом уровне: символ — =ПОДСТАВИТЬ(A2;"-";""), слово целиком — =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(" "&A2&" ";" купить ";" ")), повторы в столбце — =УНИК(A2:A100) в Excel 365, а пустые строки помечает =СЧЁТЗ(A2:C2)=0 для фильтра. Формулы удаляют содержимое ячеек не напрямую: результат появляется в соседнем столбце, и его вставляют поверх исходника как значения. Ниже — пример для каждого подраздела.

Как массово удалять ненужные данные в таблицах Excel?

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

Какие данные можно удалить в Excel

Удаляемые данные можно определять по:

  1. Объектной модели Excel:
    • таблицы (книги)
    • листы
    • столбцы
    • строки
    • ячейки
    • формулы
    • текст ячеек
    • форматирование ячеек
  2. Типу данных:
    • числа
    • текст
    • даты
    • время
    • проценты
  3. Языковой модели:
    • символы
    • слова
    • фразы
    • предложения
    • текст
    • абзацы
  4. Определенным атрибутам самих этих удаляемых объектов:
    • Наличие содержимого (пустые или содержащие что-либо)
    • Уникальность (уникальные или повторяющиеся)
    • Форматирование (шрифт, начертание, цвет, заливка и т.д.)

И вероятно это не все варианты, как можно определить данные перед их удалением.

Для многих из вышеперечисленных случаев существуют штатные процедуры в Excel. В первую очередь рекомендую почитать подробную статью, как процедура "Поиск и замена" позволяет массово находить лишние данные, прежде чем вы выделите и удалите их. В частности, замена на "пустоту" тоже является удалением данных.

Удаление данных с !SEMTools

Далеко не всегда для массового удаления данных в Excel есть простые и удобные инструменты.

Именно для таких случаев я разработал собственные, и организовал их в удобной иерархии в разделе "УДАЛИТЬ" в своей надстройке.

Перед применением функций этого раздела рекомендуется воспользоваться аналогичными возможностями в группах «ОБНАРУЖИТЬ» и «ИЗВЛЕЧЬ», чтобы сначала своими глазами увидеть, какие элементы будут удалены.

Символы

Меню позволяет удалить определенные символы из диапазона, например:

Удалить символы формулами
B2=СЖПРОБЕЛЫ(REGEXREPLACE(A2;"\d";""))
ABCD
1ТекстБез цифрБез пунктуацииБез 1-го символа
2Диван, 2 шт.!Диван, шт.!=СЖПРОБЕЛЫ(REGEXREPLACE(A2;"\d";""))Диван 2 шт=REGEXREPLACE(A2;"[^A-Za-zА-Яа-яЁё0-9 ]";"")иван, 2 шт.!=ПСТР(A2;2;1000)

Все способы для символов — в разделе удалить символы.

Слова

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

Удалить слово целиком
B2=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(" "&A2&" ";" купить ";" "))
AB
1ЗапросБез «купить»
2купить дивандиван=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(" "&A2&" ";" купить ";" "))
3диван купить недорогодиван недорого=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(" "&A3&" ";" купить ";" "))
4купитьдиванкупитьдиван=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(" "&A4&" ";" купить ";" "))

Пробелы вокруг слова не дают задеть «купитьдиван». Другие формулы — в разделе удалить слова.

В английском Excel: =TRIM(SUBSTITUTE(" "&A2&" "," купить "," "))

Ячейки

Удалить ячейки по условию - !SEMTools предлагает более десятка таковых.

Очистить ячейки по условию
B2=ЕСЛИ(ЕЧИСЛО(ПОИСК("тест";A2));"";A2)
AB
1ЗначениеБез ячеек с «тест»
2заказ 125заказ 125=ЕСЛИ(ЕЧИСЛО(ПОИСК("тест";A2));"";A2)
3тест 1=ЕСЛИ(ЕЧИСЛО(ПОИСК("тест";A3));"";A3)
4заказ 126заказ 126=ЕСЛИ(ЕЧИСЛО(ПОИСК("тест";A4));"";A4)
5ТЕСТОВЫЙ=ЕСЛИ(ЕЧИСЛО(ПОИСК("тест";A5));"";A5)

Ячейки, где найден фрагмент, становятся пустыми; остальные переносятся как есть. ПОИСК не различает регистр. Подробнее — удалить ячейки по условию.

В английском Excel: =IF(ISNUMBER(SEARCH("тест",A2)),"",A2)

Диапазоны

Сюда входят макросы, которые помогают:

Пометить пустые строки для удаления
D3=СЧЁТЗ(A3:C3)=0
ABCD
1ФИОГородСуммаПустая строка?
2ИвановМосква100ЛОЖЬ=СЧЁТЗ(A2:C2)=0
3ИСТИНА=СЧЁТЗ(A3:C3)=0
4ПетровЛОЖЬ=СЧЁТЗ(A4:C4)=0

Отфильтруйте ИСТИНА и удалите видимые строки. Строка 4 не пустая — в ней есть фамилия. Подробнее — удалить пустые строки.

В английском Excel: =COUNTA(A2:C2)=0

Также в этом меню находятся процедуры удаления листов открытых книг по условию.

Дубликаты

Раздел посвящён различным способам удалять дубликаты ячеек в Excel.

В Excel есть функция удаления дубликатов, но программа считает дублями только полностью совпадающие строки - достаточно 1 лишнего пробела и ячейки уже не будут считаться повторяющимися. Такие ячейки называются неявными дублями, им посвящен целый комплекс процедур !SEMTools.
А когда нужно удалить дубли без смещения строк, придется и вовсе использовать множество ухищрений, и здесь надстройка тоже приходит на помощь. Можно также сравнить 2 столбца и удалить дубли, с учётом порядка слов и без.

Найти повторы и список без дублей
B4=СЧЁТЕСЛИ($A$2:A4;A4)>1
ABCD
1ГородПовтор?Без дублей
2МоскваЛОЖЬ=СЧЁТЕСЛИ($A$2:A2;A2)>1Москва=УНИК(A2:A6)
3КазаньЛОЖЬ=СЧЁТЕСЛИ($A$2:A3;A3)>1Казань
4москваИСТИНА=СЧЁТЕСЛИ($A$2:A4;A4)>1Тула
5ТулаЛОЖЬ=СЧЁТЕСЛИ($A$2:A5;A5)>1
6КазаньИСТИНА=СЧЁТЕСЛИ($A$2:A6;A6)>1

СЧЁТЕСЛИ с растущим диапазоном $A$2:A4 помечает второе и следующие вхождения — их можно отфильтровать и удалить, не сдвигая остальные строки. УНИК сразу выводит список без повторов. Обе функции не различают регистр. Подробнее — удалить дубликаты.

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

Формулы

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

Удаление данных в Excel — частые вопросы

Как удалить определённые символы из всех ячеек?

Через Ctrl+H с пустым полем «Заменить на» или формулой =ПОДСТАВИТЬ(A2;"-";"").

Как удалить строки по условию?

Добавьте столбец с проверкой условия, отфильтруйте ИСТИНА и удалите видимые строки. Подробнее — удалить строки по условию.

Как удалить дубликаты, не сдвигая строки?

Пометьте повторы формулой =СЧЁТЕСЛИ($A$2:A2;A2)>1 и очистите отмеченные ячейки — смотрите дубли без смещения строк.

Как удалить формулы и оставить значения?

Скопируйте диапазон и вставьте как значения: Ctrl+Alt+V → «значения». Подробнее — удалить формулы.

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

Итоги: как удалить ненужные данные в Excel

Что удаляемФормула или способ
СимволыПОДСТАВИТЬ, REGEXREPLACE, ПСТР
СловаПОДСТАВИТЬ с пробелами по краям
Ячейки по условиюЕСЛИ + ПОИСК в соседнем столбце
Пустые строкиСЧЁТЗ(…)=0 + фильтр
ДубликатыУНИК или СЧЁТЕСЛИ с растущим диапазоном
ФормулыВставка значений Ctrl+Alt+V

Надеюсь, на этой странице вы нашли то, что искали. Формулы удобны, когда исходные данные нужно сохранить, а для разовой чистки больших таблиц быстрее процедуры раздела УДАЛИТЬ.