Удаление пустых строк и столбцов в данных
Пустые строки и столбцы могут быть головной болью в таблицах во многих случаях. Стандартные функции сортировки, фильтрации, подведения итогов, создания сводных таблиц и т.д. воспринимают пустые строки и столбцы как разрыв таблицы, не подхватывая данные, расположенные за ними далее. Если таких разрывов много, то удалять их вручную может оказаться весьма затратно, а удалить сразу всех «оптом», используя фильтрацию не получится, т.к. фильтр тоже будет «спотыкаться» на разрывах.
Давайте рассмотрим несколько способов решения этой задачи.
Способ 1. Поиск пустых ячеек
Это, может, и не самый удобный, но точно самый простой способ вполне достойный упоминания.
Предположим, что мы имеем дело вот с такой таблицей, содержащей внутри множество пустых строк и столбцов (для наглядности выделены цветом):

Допустим, мы уверены, что в первом столбце нашей таблицы (колонка B) всегда обязательно присутствует название какого-либо города. Тогда пустые ячейки в этой колонке будут признаком ненужных пустых строк. Чтобы быстро их все удалить делаем следующее:
- Выделяем диапазон с городами (B2:B26)
- Нажимаем клавишу F5 и затем кнопку Выделить (Go to Special) или выбираем на вкладке Главная — Найти и выделить — Выделить группу ячеек (Home — Find&Select — Go to special).
- В открывшемся окне выбираем опцию Пустые ячейки (Blanks) и жмём ОК – должны выделиться все пустые ячейки в первом столбце нашей таблицы.
- Теперь выбираем на вкладке Главная команду Удалить — Удалить строки с листа (Delete — Delete rows) или жмём сочетание клавиш Ctrl+минус — и наша задача решена.
Само-собой, от пустых столбцов можно избавиться совершенно аналогично, взяв за основу шапку таблицы.
Способ 2. Поиск незаполненных строк
Как вы, возможно, уже сообразили, предыдущий способ сработает только в том случае, если в наших данных обязательно присутствую полностью заполненные строки и столбцы, за которые можно зацепиться при поиске пустых ячеек. Но что, если такой уверенности нет, и в данных могут содержаться и пустые ячейки в том числе?
Взгляните, например, на следующую таблицу — как раз такой случай:

Здесь подход будет чуть похитрее:
-
Введём в ячейку A2 функцию СЧЁТЗ (COUNTA), которая вычислит количество заполненных ячеек в строке правее и скопируем эту формулу вниз на всю таблицу:
- Выделим ячейку А2 и включим фильтр командой Данные — Фильтр (Data — Filter) или сочетанием клавиш Ctrl+Shift+L.
- Отфильтруем по вычисленному столбцу нули, т.е. все строки, где нет данных.
- Осталось выделить отфильтрованные строки и удалить их командой Главная — Удалить - Удалить строки с листа (Home — Delete — Delete rows) или сочетанием клавиш Ctrl+минус.
- Отключаем фильтр и получаем наши данные без пустых строк.
К сожалению, со столбцами такой трюк уже не проделать – фильтровать по столбцам Excel пока не научился.
Способ 3. Макрос удаления всех пустых строк и столбцов на листе
Для автоматизации подобной задачи можно использовать и простой макрос. Нажмите сочетание клавиш Alt+F11 или выберите на вкладке Разработчик — Visual Basic (Developer — Visual Basic Editor). Если вкладки Разработчик не видно, то можно включить ее через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).
В открывшемся окне редактора Visual Basic выберите команду меню Insert — Module и в появившийся пустой модуль скопируйте и вставьте следующие строки:
Sub DeleteEmpty()
Dim r As Long, rng As Range
'удаляем пустые строки
For r = 1 To ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
If Application.CountA(Rows(r)) = 0 Then
If rng Is Nothing Then Set rng = Rows(r) Else Set rng = Union(rng, Rows(r))
End If
Next r
If Not rng Is Nothing Then rng.Delete
'удаляем пустые столбцы
Set rng = Nothing
For r = 1 To ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
If Application.CountA(Columns(r)) = 0 Then
If rng Is Nothing Then Set rng = Columns(r) Else Set rng = Union(rng, Columns(r))
End If
Next r
If Not rng Is Nothing Then rng.Delete
End Sub
Закройте редактор и вернитесь в Excel.
Теперь нажмите сочетание Alt+F8 или кнопку Макросы на вкладке Разработчик. В открывшемся окне будут перечислены все доступные вам в данный момент для запуска макросы, в том числе только что созданный макрос DeleteEmpty. Выберите его и нажмите кнопку Выполнить (Run) — все пустые строки и столбцы на листе будут мгновенно удалены.
Способ 4. Запрос Power Query
Ещё один способ решить нашу задачу и весьма частый сценарий — это удаление пустых строк и столбцов в Power Query.
Сначала давайте загрузим нашу таблицу в редактор запросов Power Query. Можно конвертировать её в динамическую «умную» сочетанием клавиш Ctrl+T или же просто выделить наш диапазон данных и дать ему имя (например Данные) в строке формул, преобразовав в именованный:

Теперь используем команду Данные — Получить данные — Из таблицы/диапазона (Data — Get Data — From table/range) и грузим всё в Power Query:

Дальше всё просто:
- Удаляем пустые строки командой Главная — Сократить строки — Удалить строки — Удалить пустые строки (Home — Remove Rows — Remove empty rows).
- Щёлкаем правой кнопкой мыши по заголовку первого столбца Город и выбираем в контекстном меню команду Отменить свёртывание других столбцов (Unpivot Other Columns). Наша таблица будет, как это технически правильно называется, нормализована — преобразована в три столбца: город, месяц и значение с пересечения города и месяца из исходной таблицы. Особенность этой операции в Power Query в том, что она пропускает в исходных данных пустые ячейки, что нам и требуется:
- Теперь выполяем обратную операцию — сворачиваем полученную таблицу обратно в двумерную, чтобы вернуть ей исходный вид. Выделяем столбец с месяцами и на вкладке Преобразование выбираем команду Столбец сведения (Transform — Pivot Column). В открывшемся окне в качестве столбца значений выбираем последний (Значение), а в расширенных параметрах — операцию Не агрегировать (Don’t aggregate):
- Останется выгрузить результат обратно в Excel командой Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close&Load — Close&Load to…)
Ссылки по теме
- Что такое макрос, как он работает, куда копировать текст макроса, как запустить макрос?
- Заполнение всех пустых ячеек в списке значениями вышестоящих ячеек
- Удаление всех пустых ячеек из заданного диапазона
- Удаление всех пустых строк на листе с помощью надстройки PLEX
При импорте и копировании таблиц в Excel могут формироваться пустые строки и ячейки. Они мешают работе, отвлекают.
Некоторые формулы могут работать некорректно. Использовать ряд инструментов в отношении не полностью заполненного диапазона невозможно. Научимся быстро удалять пустые ячейки в конце или середине таблицы. Будем использовать простые средства, доступные пользователю любого уровня.
Как в таблице Excel удалить пустые строки?
Чтобы показать на примере, как удалить лишние строки, для демонстрации порядка действий возьмем таблицу с условными данными:
Пример 1. Сортировка данных в таблице. Выделяем всю таблицу. Открываем вкладку «Данные» — инструмент «Сортировка и фильтр» — нажимаем кнопку «Сортировка». Или щелкаем правой кнопкой мыши по выделенному диапазону и делаем сортировку «от минимального к максимальному».
Пустые строки после сортировки по возрастанию оказываются внизу диапазона.
Если порядок значений важен, то до сортировки необходимо вставить пустой столбец, сделать сквозную нумерацию. После сортировки и удаления пустых строк вновь отсортировать данные по вставленному столбцу с нумерацией.
Пример 2. Фильтр. Диапазон должен быть отформатирован как таблица с заголовками. Выделяем «шапку». На вкладке «Данные» нажимаем кнопку «Фильтр» («Сортировка и фильтр»). Справа от названия каждого столбца появится стрелочка вниз. Нажимаем – открывается окно фильтрации. Снимаем выделение напротив имени «Пустые».
Таким же способом можно удалить пустые ячейки в строке Excel. Выбираем нужный столбец и фильтруем его данные.
Пример 3. Выделение группы ячеек. Выделяем всю таблицу. В главном меню на вкладке «Редактирование» нажимаем кнопку «Найти и выделить». Выбираем инструмент «Выделение группы ячеек».
В открывшемся окне выбираем пункт «Пустые ячейки».
Программа отмечает пустые ячейки. На главной странице находим вкладку «Ячейки», нажимаем «Удалить».
Результат – заполненный диапазон «без пустот».
Внимание! После удаления часть ячеек перескакивает вверх – данные могут перепутаться. Поэтому для перекрывающихся диапазонов инструмент не подходит.
Полезный совет! Сочетание клавиш для удаления выделенной строки в Excel CTRL+«-». А для ее выделения можно нажать комбинацию горячих клавиш SHIFT+ПРОБЕЛ.
Как удалить повторяющиеся строки в Excel?
Чтобы удалить одинаковые строки в Excel, выделяем всю таблицу. Переходим на вкладку «Данные» — «Работа с данными» — «Удалить дубликаты».
В открывшемся окне выделяем те столбцы, в которых находятся повторяющиеся значения. Так как нужно удалять повторяющиеся строки, то должны быть выделены все столбцы.
После нажатия ОК Excel формирует мини-отчет вида:
Как удалить каждую вторую строку в Excel?
Проредить таблицу можно с помощью макроса. Например, такого:
А можно ручками. Предлагаем простенький способ, доступный каждому пользователю.
- В конце таблицы делаем вспомогательный столбец. Заполняем чередующимися данными. Например, «о у о у о у» и т.д. Вносим значения в первые четыре ячейки. Потом выделяем их. «Цепляем» за черный крестик в правом нижнем углу и копируем буквы до конца диапазона.
- Устанавливаем «Фильтр». Отфильтровываем последний столбец по значению «у».
- Выделяем все что осталось после фильтрации и удаляем.
- Убираем фильтр – останутся только ячейки с «о».
Вспомогательный столбец можно устранить и работать с «прореженной таблицей».
Как удалить скрытые строки в Excel?
Однажды пользователь скрыл некую информацию в строках, чтобы она не отвлекала от работы. Думал, что впоследствии данные еще понадобятся. Не понадобились – скрытые строки можно удалить: они влияют на формулы, мешают.
В тренировочной таблице скрыты ряды 5, 6, 7:
Будем их удалять.
- Переходим на «Файл»-«Сведения»-«Поиск проблем» — инструмент «Инспектор документов».
- В отрывшемся окне ставим галочку напротив «Скрытые строки и столбцы». Нажимаем «Проверить».
- Через несколько секунд программа отображает результат проверки.
- Нажимаем «Удалить все». На экране появится соответствующее уведомление.
В результате проделанной работы скрытые ячейки удалены, нумерация восстановлена.
Таким образом, убрать пустые, повторяющиеся или скрытые ячейки таблицы можно с помощью встроенного функционала программы Excel.
Иногда вы хотите удалить всю строку, если ячейка содержит ноль в Excel, и вы можете удалить их по одной, если их несколько. Но как насчет того, чтобы удалить сотни строк, содержащих ноль? Вы можете выбрать один из сложных способов, указанных ниже.
Удалить строку, если ячейка содержит ноль, с помощью функции фильтра в Excel
Удалить строку, если ячейка содержит ноль, с помощью VBA в Excel
Удалить строку, если ячейка содержит ноль с Kutools for Excel
Удалить строку, если ячейка содержит ноль, с помощью функции фильтра в Excel
Вы можете использовать функцию фильтра, чтобы отфильтровать все строки на основе нулевых значений в определенном столбце, а затем удалить все видимые строки позже. Пожалуйста, сделайте следующее.
1. Выберите ячейки столбца, содержащие нулевые значения, на основе которых вы хотите удалить все строки, затем щелкните Данные > Фильтр. Смотрите скриншот:
2. Затем в первой ячейке выбранного столбца отобразится стрелка раскрывающегося списка, щелкните стрелку и выберите Числовые фильтры > Равно из раскрывающегося списка.
3. в Пользовательский автофильтр диалоговое окно введите номер 0 в текстовое поле, как показано на скриншоте ниже, а затем щелкните OK кнопку.
4. Затем все ячейки с нулевым значением в этом столбце отфильтровываются. Выберите все видимые ячейки в диапазоне фильтра и щелкните их правой кнопкой мыши, выберите Удалить строки из контекстного меню. И во всплывающем окне подсказки щелкните значок OK кнопка. Смотрите скриншот:
5. Теперь все видимые строки удалены. Вы можете нажать Данные > Фильтр снова, чтобы показать все данные без ячеек с нулевым значением. Смотрите скриншот:
Удалить строку, если ячейка содержит ноль, с помощью VBA в Excel
В этом разделе будет показан метод VBA для удаления всех строк, если в определенном столбце Excel существуют нулевые значения.
1. Нажмите Alt + F11 одновременно кнопки для отображения Microsoft Visual Basic для приложений окно.
2. В окне Microsoft Visual Basic для приложений щелкните Вставить > Модули, затем скопируйте и вставьте следующий код VBA в окно модуля.
VBA: удалить целые строки, если в определенном диапазоне столбцов на листе существует нулевое значение
Sub DeleteZeroRow () 'Обновить ) Application.ScreenUpdating = False Do Set Rng = WorkRng.Find ("20140616", LookIn: = xlValues) Если не Rng Is Nothing, то Rng.EntireRow.Delete End If Loop While Not Rng Is Nothing Application.ScreenUpdating = True End Sub
3. нажмите F5 ключ для запуска кода, во всплывающем окне KutoolsforExcel в диалоговом окне выберите диапазон столбцов, в котором вы хотите удалить целые строки на основе нулевых значений внутри, затем щелкните OK кнопка. Смотрите скриншот:
Затем все строки, основанные на нулевых значениях в указанном диапазоне столбцов, немедленно удаляются.
Удалить строку, если ячейка содержит ноль с Kutools for Excel
Для многих пользователей Excel использование кода VBA опасно для удаления данных в Excel. Если вы не совсем доверяете коду VBA, здесь мы рекомендуем вам попробовать Выбрать определенные ячейки полезности Kutools for Excel.
1. Выберите диапазон столбцов, в котором вы удалите целые строки на основе нулевых значений внутри, а затем щелкните Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
2. в Выбрать определенные ячейки диалог, вам необходимо:
(1) Выберите Весь ряд вариант в Тип выбора .
(2) Выберите Равно в первом Конкретный тип раскрывающийся список, затем введите номер 0 в текстовое поле.
(3) Щелкните значок OK кнопку.
3. Появится диалоговое окно, в котором указано, сколько строк было выбрано, щелкните значок OK кнопка. Теперь выбраны все строки с нулевыми значениями в указанном диапазоне столбцов. Щелкните правой кнопкой мыши любую выбранную строку, затем щелкните Удалить в контекстном меню. Смотрите скриншот:
Теперь все строки с нулевыми значениями, существующие в указанном столбце, немедленно удаляются. Смотрите скриншот:
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Удалить строку, если ячейка содержит ноль с Kutools for Excel
Относительные статьи:
- Удалить строки, не содержащие определенного текста в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Хитрости »
28 Май 2011 644615 просмотров
Как удалить строки по условию?
Предположу, что почти каждый сталкивался с ситуацией, когда необходимо удалить только определенные строки: имеется большая таблица и необходимо удалить из неё только те строки, которые содержат какое-то слово (цифру, фразу). Для выполнения подобной задачи можно воспользоваться несколькими способами.
Способ первый:
Использовать встроенное средство Excel — фильтр. Сначала его необходимо «установить» на листе:
- Выделяем таблицу с данными, включая заголовки. Если их нет — то выделяем с самой первой строки таблицы, в которой необходимо удалить данные
- устанавливаем фильтр:
- для Excel 2003: Данные—Фильтр—Автофильтр
- для Excel 2007-2010: вкладка Данные(Data) —Фильтр(Filter)(или вкладка Главная(Home) —Сортировка и фильтр(Sort&Filter) —Фильтр(Filter))
Теперь выбираем условие для фильтра:
- в Excel 2003 надо выбрать Условие и в появившейся форме выбрать непосредственно условие(«равно», «содержит», «начинается с» и т.д.), а напротив значение в соответствии с условием.
- Для 2007-2010 Excel нужно выбрать Текстовые фильтры(Text Filters) и либо сразу выбрать одно из предлагаемых условий, либо нажать Настраиваемый фильтр(Custom Filter) и ввести значения для отбора в форме
После этого удалить отфильтрованные строки. В 2007 Excel могут возникнуть проблемы с удалением отфильтрованных строк, поэтому рекомендую сначала так же прочитать статью: Excel удаляет вместо отфильтрованных строк — все?! Как избежать.
Способ второй:
применить код VBA, который потребует только указания значения, которое необходимо найти в строке и номер столбца, в котором искать значение.
Sub Del_SubStr() Dim sSubStr As String 'искомое слово или фраза(может быть указанием на ячейку) Dim lCol As Long 'номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim lMet As Long Dim arr sSubStr = InputBox("Укажите значение, которое необходимо найти в строке", "www.excel-vba.ru", "") If sSubStr = "" Then lMet = 0 Else lMet = 1 lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1)) If lCol = 0 Then Exit Sub lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count arr = Cells(1, lCol).Resize(lLastRow).Value Application.ScreenUpdating = 0 Dim rr As Range For li = 1 To lLastRow 'цикл с первой строки до конца If -(InStr(arr(li, 1), sSubStr) > 0) = lMet Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Если значение sSubStr не будет указано, то будут удалены строки, ячейки указанного столбца которых, пустые.
Данный код необходимо поместить в стандартный модуль. Вызвать с листа его можно нажатием клавиш Alt+F8, после чего выбрать Del_SubStr и нажать Выполнить. Если в данном коде в строке
If -(InStr(Cells(li, 1), sSubStr) > 0) = lMet Then
вместо = lMet указать <> lMet, то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска «отчет», то будут удалены все строки, в которых встречается это слово(«квартальный отчет», «отчет за месяц» и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:
Sub Del_SubStr() Dim sSubStr As String 'искомое слово или фраза(может быть указанием на ячейку) Dim lCol As Long 'номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim arr sSubStr = InputBox("Укажите значение, которое необходимо найти в строке", "www.excel-vba.ru", "") lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1)) If lCol = 0 Then Exit Sub lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count arr = Cells(1, lCol).Resize(lLastRow).Value Application.ScreenUpdating = 0 Dim rr As Range For li = 1 To lLastRow 'цикл с первой строки до конца If CStr(arr(li, 1)) = sSubStr Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Здесь так же, как и в случае с предыдущим кодом можно заменить оператор сравнения(Cells(li, lCol) = sSubStr) с равно на неравенство(Cells(li, lCol) <> sSubStr) и тогда удаляться будут строки, значения ячеек которых не равно указанному.
УДАЛЕНИЕ СТРОК НА ОСНОВАНИИ СПИСКА ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Иногда бывают ситуации, когда необходимо удалить строки не по одному значению, а по нескольким. Например, если строка содержит или Итог или Отчет. Ниже приведен код, при помощи которого можно удалить строки, указав в качестве критерия диапазон значений.
Значения, которые необходимо найти и удалить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — они все будут удалены. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.
Sub Del_Array_SubStr() Dim sSubStr As String 'искомое слово или фраза Dim lCol As Long 'номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim avArr, lr As Long Dim arr lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1)) If lCol = 0 Then Exit Sub Application.ScreenUpdating = 0 lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count 'заносим в массив значения листа, в котором необходимо удалить строки arr = Cells(1, lCol).Resize(lLastRow).Value 'Получаем с Лист2 значения, которые надо удалить в активном листе With Sheets("Лист2") 'Имя листа с диапазоном значений на удаление avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With 'удаляем Dim rr As Range For lr = 1 To UBound(avArr, 1) sSubStr = avArr(lr, 1) For li = 1 To lLastRow 'цикл с первой строки до конца If CStr(arr(li, 1)) = sSubStr Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If DoEvents Next li DoEvents Next lr If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Чтобы код выше удалял строки не по точному совпадению слов, а по частичному(например, в ячейке записано «Привет, как дела?», а в списке есть слово «привет» — надо удалить, т.к. есть слово «привет»), то надо строку:
If CStr(arr(li, 1)) = sSubStr Then
заменить на такую:
If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then
УДАЛЕНИЕ ИЗ ЛИСТА СТРОК, КОТОРЫХ НЕТ В СПИСКЕ ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Т.к. в последнее время стало поступать все больше и больше вопросов как не удалять значения по списку, а наоборот — оставить в таблице только те значения, которые перечислены в списке — решил дополнить статью и таким кодом.
Значения, которые необходимо оставить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — после работы кода на листе будут оставлены только те строки, в которых присутствует хоть одно из перечисленных в списке значений. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.
В отличие от приведенных выше кодов, данный код ориентирован на то, что значения в списке указаны не полностью. Т.е. если необходимо оставить только те ячейки, в которых встречается слово «активы», то в списке надо указать только это слово. В этом случае если в ячейке будет записана фраза «Нематериальные активы» или «Активы сторонние» — эти ячейки не будут удалены, т.к. в них встречается слово «активы». Регистр букв при этом неважен.
'процедура оставляет в листе только те значения, которые перечислены в списке Sub LeaveOnlyFoundInArray() Dim sSubStr As String 'искомое слово или фраза Dim lCol As Long 'номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim avArr, lr As Long Dim arr Dim IsFind As Boolean lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "www.excel-vba.ru", 1)) If lCol = 0 Then Exit Sub Application.ScreenUpdating = 0 lLastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count 'заносим в массив значения листа, в котором необходимо удалить строки arr = Cells(1, lCol).Resize(lLastRow).Value 'Получаем с Лист2 значения, которые надо удалить в активном листе With Sheets("Лист2") 'Имя листа с диапазоном значений на удаление avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With 'удаляем Dim rr As Range For li = 1 To lLastRow 'цикл с первой строки таблицы до конца IsFind = False For lr = 1 To UBound(avArr, 1) 'цикл по списку значений на удаление sSubStr = avArr(lr, 1) If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then IsFind = True End If DoEvents Next lr 'если значение таблицы не найдено в списке - удаляем строку If Not IsFind Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If DoEvents Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Чтобы код выше сравнивал значения таблицы со значениями списка по точному совпадению слов, а не по частичному, то надо строку:
If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then
заменить на такую:
If CStr(arr(li, 1)) = sSubStr Then
Для всех приведенных кодов можно строки не удалять, а скрывать. Для этого надо строку:
If Not rr Is Nothing Then rr.EntireRow.Delete
заменить на такую:
If Not rr Is Nothing Then rr.EntireRow.Hidden = True
По умолчанию все коды начинают просмотр строк с первой по последнюю заполненную на листе. И если необходимо удалять строки не с первой или не по последнюю, то надо внести корректировки в эту строку:
For li = 1 To lLastRow 'цикл с первой строки до конца
1 — это первая строка; lLastRow — определяется автоматически кодом и равна номеру последней заполненной строки на листе. Если надо начать удалять строки только с 7-ой строки(например, в первых 6-ти шапка), то код будет выглядеть так:
For li = 7 To lLastRow 'цикл с седьмой строки до конца
А если надо удалять только с 3-ей по 300-ю, то код будет выглядеть так:
For li = 3 To 300 'цикл с третьей строки до трехсотой
Так же см.:
Что такое макрос и где его искать?
Что такое модуль? Какие бывают модули?
Как создать кнопку для вызова макроса на листе
Удаление всех пустых строк в таблице
Удаление пустых столбцов на листе
Установить Быстрый фильтр
Фильтр
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Как в Эксель (Excel) удалить строки по условию?
Как в Excel быстро удалить строки, содержимое которых удовлетворяет определённому условию?
Это удобно сделать с помощью фильтра.
Имеем таблицу данных с заголовком.
Щелкаем на любом месте в заголовке и выбираем на Главной вкладке пункт «Сортировка и фильтр — фильтр».
Фильтруем содержимое таблицы по требуемым условиям, по одному или нескольким столбцам.
Оставшиеся после применения фильтра ячейки / строки выделяем все вместе и выбираем пункт «Удалить строки с листа» (можно выбрать пункт «Удалить — строку» в меню после щелчка правой кнопкой мыши на выделенной ячейке).
Удалились именно те строки, которые были отфильтрованы, остальные остались на месте (нужно убрать все фильтры, чтобы их увидеть).
Я знаю 2 способа, позволяющих удалить определённые строки в Эксель (Excel).
1 способ — с помощью фильтра.
2 способ — с помощью VBA.
Расскажу о каждом способе подробно.
Если это делать с помощью фильтра, то порядок действий такой:
1) Отбираем нужные строки.
3) Убираем фильтр.
В результате в таблице останется только то, что нужно.
В таблице содержаться сведения о товарах и странах-производител ях, нужно оставить только импортные товары (то есть удалить строки, где содержится «Россия»).
1) Так как нас интересуют строки с определённым значением, то можно поставить фильтр так:
Щёлкнуть по любой ячейке с надписью «Россия» правой кнопкой мыши, а затем в контекстном меню выбрать пункт «Фильтр по значению выделенной ячейки».
2) В итоге останутся видимыми только те строки, которые требуется удалить.
Выделяем все строки и щёлкаем по выделенному правой кнопкой мыши, в контекстном меню выбираем «Удалить строки».
3) Строки удалятся, и таблица будет пустой (так как там пока стоит фильтр).
4) Снимаем фильтр с помощью кнопки на панели инструментов «Сортировка и фильтр».
Теперь можно убедиться, что в таблице остались строчки с только импортными товарами.
Нужно оставить только фрукты, стоящие > 100 рублей.
Здесь фильтр по значению ячейки уже не подойдёт, поэтому поступаем по-другому:
1) Щёлкаем левой кнопкой мыши по любой ячейке столбца с ценой и вызываем фильтр — с помощью копки «Фильтр» на вкладке «Данные» или с помощью копки «Сортировка и фильтр» на вкладке «Главная».
2) Теперь щёлкаем по специальной стрелочке на столбце с ценой, и выбираем «Числовые фильтры» -> «Меньше».
3) В появившемся окне вводим 100 и нажимаем на «OK».
4) Останутся строки с ценой 100.
Для удаления строк по определённому условию в VBA можно написать цикл, в котором перебираются все строки и одна (несколько) ячеек сравниваются с определённым значением.
Если условие выполняется, тогда удаляем строку с помощью команды Delete.
Создаём кнопку и привязываем к ней код (это самое простое, что можно придумать):
Dim i As Integer
Если вы хотите например удалить строки из таблицы Ексель, в которых есть некое число, или слово, то выделите одну из таких строк (с наличием этого числа или слова) Всю строку выделите а не ячейку с эти содержанием. Наверху в окнах задач ищем кнопку Сортировка и фильтр (на ней воронка нарисована) нажмите по ней, в меню выползающем выберите фильтр и установите условие сортировки, нажмите Применить.
Как удалить строки в Excel по условию? Удаление и скрытие пустых строк и строк, содержащих заданное значение
Прежде чем перейти к теме статьи, разберемся, с чем мы будем иметь дело. Посмотрим на иерархию объектов в Excel. Рабочая книга (Workbook) – это файл Excel, содержащий рабочие листы. Рабочий лист (Worksheet), в свою очередь, представляет собой электронную таблицу, основной тип документа, который используется приложением Excel для хранения и обработки данных. Рабочие листы — это таблицы, состоящие из ячеек, организованных в столбцы и строки и являются частью рабочей книги. Основным элементом электронной таблицы является ячейка. Именно в ячейках содержится информация – текст, значения, формулы. Каждая ячейка имеет свой адрес – номер строки и номер столбца, на пересечении которых находится ячейка. В этой статье более подробно остановимся на строках.
Строки в Excel и основные действия с ними
Количество строк в Excel 2003 – 65 536, а число строк в Excel 2007 и Excel 2010 – уже 1 048 576. Наиболее частыми действиями со строками являются копирование, вставка, добавление новых строк, удаление и скрытие. Без особого труда можно преобразовать Excel строку в столбец и наоборот. Такое преобразование называется транспонированием . Для преобразования строки в столбец необходимо скопировать данные строки, после чего нажать правую кнопку мыши и из контекстного меню выбрать пункт «Специальная вставка…». В появившемся диалоговом окне «Специальная вставка» поставить галочку в поле «транспонировать» и нажать кнопку ОК.
Все манипуляции со строками не представляют какой-либо особой сложности, но задача существенно усложняется, когда работать приходится с большими объемами данных и в особых условиях, когда к примеру нельзя воспользоваться стандартными средствами Excel, такими как сортировка. В таких случаях на помощь как всегда приходят макросы VBA. С помощью макросов VBA Excel строки легко поддаются обработке, можно например скрыть все пустые строк и или удалить строки содержащие заданный текст.
Далее рассмотрим инструмент, в котором реализовано программное скрытие и удаление пустых строк, а также скрытие и удаление любых строк, по заданным пользователем условиям, при этом все параметры для работы программы задаются не в редакторе программного кода, а в диалоговом окне, что очень удобно. Надстройка работает как с видимыми так и со скрытыми и отфильтрованными строками .
Надстройка для удаления и скрытия строк по условию
1) Скрывать либо удалять строки, подходящие под заданное условие;
2) скрывать либо удалять строки, находящиеся ниже или выше строк, подходящих под заданное условие;
3) скрывать либо удалять заданное количество строк для каждого действия;
4) скрывать либо удалять разное количество строк для каждого действия, если количество строк указано в отдельном столбце;
5) выбирать одно из нескольких условий для искомых значений (совпадает, не совпадает, содержит, не содержит, начинается, не начинается, заканчивается, не заканчивается);
6) находить пустые строки и строки, содержащие заданный текст (либо массив из текстовых значений);
7) осуществлять одновременный поиск различных текстовых выражений, внесенных в поле для ввода текста с использованием знака-разделителя. В качестве знака-разделителя используется (;) точка с запятой;

9) ограничивать выбранные диапазоны номерами строк сверху и/или снизу для избежания повреждения шапок таблиц и строк с разного рода промежуточными итогами;
10) осуществлять поиск текста в строках как с учетом регистра, так и без.
Диалоговое окно надстройки
По изображению диалогового окна можно получить представление о том, какие возможности предоставляются надстройкой — это удаление/скрытие пустых строк и строк, подходящих под заданные условия.
Как скрыть или удалить строки по условию?
На выбор пользователя макрос может удалять/скрывать пустые строки, а может на выбор пользователя скрывать либо удалять строки, удовлетворяющие заданным условиям, например таким как содержание заданного текста, либо отсутствием такового, может учитывать регистр при поиске текста в строках, а может не учитывать. Для того, чтобы при удалении/скрытии в таблицах не пострадала шапка или промежуточные результаты, введено дополнительное ограничение по номерам строк, при помощи которого можно задавать диапазон для действия макроса. Если же диапазон не задан пользователем, то макрос работает со строками так называемого используемого диапазона, то есть со строки, в которой содержится первая заполненная информацией ячейка, до строки с последней заполненной ячейкой. Пользователю также предлагается ограничить обработку данных либо активным листом, либо всеми листами активной рабочей книги.
При помощи надстройки можно производить действия не только с самими строками, которые подходят под заданное условие, но и со строками, которые находятся выше или ниже этих строк. Кроме того, предусмотрена возможность задать количество строк для каждого действия.
Как скрывать или удалять разное количество строк?
Если в диалоговом окне надстройки установить флажок в поле «Разное количество строк», то числовое значение в поле «Для каждого действия, шт.» меняется на номер столбца, в котором содержатся значения для каждого действия. В этом случае за каждое действие будет скрыто или удалено столько строк, сколько указано в соответствующей строке заданного столбца.
Удаление (скрытие) строк по условию
макрос удалит на листе все строки, в которых содержится искомый текст:
Чтобы вместо удаления просто скрыть такие строки, замените строку
Расширенная версия этого макроса — с использованием UserForm для ввода искомого значения

Ещё один вариант кода, позволяющего выполнять поиск (с последующим удалением или скрытием строк) сразу по нескольким условиям:
- 191594 просмотра
Комментарии
Я не занимаюсь поддержкой бесплатных макросов, и модификацией их под ваши требования.
В комментариях к статье есть очень много вариантов переделки этого макроса, — полистайте комменты, может найдете подходящий вариант кода.
Если же хотите получить готовое решение, — оформляйте заказ на сайте, сделаю (платно. минимальная стоимость заказа 1500 рублей)
Добавление комментариев к данной статье на этом отключаю.
Подскажите пожалуйста. Мучаюсь уже неделю. Не могу переделать существующие макросы для скрытия строк. Имеется таблица с цифрами. Нужно что бы скрывались строки если одновременно в столбце А и В и С и D значение меньше чем 0. Было бы не плохо это значение вводить в user form и там были кнопочки скрыть и показать все. Помогите пожалуйста. Да и ещё количество строк может бить разное. А цифровые значения начинаются с второй строки.
Здравствуйте, у меня такая ситуация. Есть таблица, с 3000 строками, и примерно 25 столбиками
Первые 10 столбиков заполнены текстом, с 11 по 25 столбик бывают цифры. Как мне удалить полностью строку, если в столбики с 11 по 25 все пустые ячейки ? а если хоть одна ячейка заполнена, то строку не трогать? но на первые десять столбиков не надо обращать внимание
А как сделать такое же условие для объеденных ячеек только по нескольким значениям?
Я должен был догадаться, какие листы надо обрабатывать, а какие нет?
Чтобы обработать ВСЕ листы, — напишите
Большое спасибо, но у меня следующие листы «3», «3А», «3Б», «4».
Подскажите, как сделать этот макрос для листов «2», «2А», «2Б» и т. д.
Sub УдалениеСтрокПоУсловию()
Dim ra As Range, delra As Range, ТекстДляПоиска As String
Application.ScreenUpdating = False ‘ отключаем обновление экрана
ТекстДляПоиска = «Наименование ценности» ‘ удаляем строки с таким текстом
‘ перебираем все строки в используемом диапазоне листа
For Each ra In ActiveSheet.UsedRange.Rows
‘ если в строке найден искомый текст
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
‘ добавляем строку в диапазон для удаления
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
‘ если подходящие строки найдены — удаляем их
If Not delra Is Nothing Then delra.EntireRow.Delete
End Sub
Если необходимо наоборот отобразить строки «EntireRow.Hidden = False»
То как осуществить поиск текста в скрытых строках/столбцах?
Здравствуйте. Подскажите, пожалуйста, как прописать макрос так, чтоб он:
1. удалял все строки с заливкой цветом, или
2. удалял все строки, содержащие какую либо ячейку с заливкой цветом.
Спасибо.
Игорь,благодарю за макрос — облегчает жизнь! Вы не посоветуете как работать с этим макросом при защите листа?
Добрый день! Подскажите пожалуйста, Как сделать макрос скрывающий строки при условии что в двух подряд столбцах 0 или пусто? и чтоб он запускался не при открытии файла, а кнопкой?
у меня вариант с условием одного столбца, как его исправить
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim d As Integer
d = UsedRange.Rows.Count + 1
For rwIndex = 1 To 31
colIndex = 3
If Cells(rwIndex, colIndex).Value = 0 Then
Rows(rwIndex).Hidden = True
End If
Next
End Sub
Буду очень признательна)
Добрый день! У меня проблема с большими таблицами и с их колличеством) В одной книге у меня 25 листов на каждом большие таблицы, для удбства печати я создала макрос скрывающий ненужные строки, столбцы и ячейки во всей книге сразу, поочередно на каждом листе. Теперь хочу чтоб можно было сразу во всей книге развернуть скрытые ячейки. И не могу) Подскажите как исправить этот макрос чтоб он работал в модуле «Эта книга» для всех листов сразу
Sub Show()
Columns.Hidden = False
Rows.Hidden = False
Во — то что доктор прописал — спасибо! И извините за не корректность:)
Сандер, я написал код так, как вы просили, — если в ячейке присутствует цифра, то строка удаляется.
А вам надо было удалять только ячейки с ЧИСЛОМ (а не содержащие цифры)
Замените
Увы. работает аналогично с «Удаление (скрытие) строк по условию», т.е. если в тексте присутствует допустим «Адаптер АТ-2000 14 В22» — что там, что в вашем примере удаляет строку. Просто думал — есть что-нить персональное с цифрами.
Сандер, так попробуйте:
Здравствуйте! Пролистал, прочитал — таки не нашел ответ к своей задаче, а она такова: в столбце чередуются и текст и цифры — надо удалить строки которые содержат цифры(они естно — разные). Спасибо!
Евгений, при работе макросов, отмена действий в Excel не работает
(что сделано макросом, никак не отменить, — так устроен Excel)
Подскажите. после удаления строк с помощью макроса, нельзя почему то вернуть назад назад изменения.Что нужно сделать чтоб вернуть изменения назад.
Здравствуйте, Нурьяна.
Моя программа нормально работает, — если ей правильно настроить
(настройка под каждый конкретный сайт, — от 1500 руб, + сама программа 2500 стоит)
PS: на будущее, размещайте коммент не в первой попавшейся статье, а в статье с описанием программы-парсера
http://excelvba.ru/programmes/Parser
можете сразу оформить заказ на парсер, в таком виде:
http://excelvba.ru/programmes/Parser/order
Здравствуй Админ! Долго Вас искала. подрабатываю на СП закупках, и уже замучилась с заполнением каталогов, сил больше нет. Как-то покупала граббер у одного программиста, ну вообще не довольна , на одну закупку граббер стоит 2800, и работает через раз. Скажите как работает Ваша программа и сколько стоит, и можно ее настроить под сайт на котором я работаю и пользоваться ею постоянно один раз заплатив?
Можем сделать под заказ, — всё будет работать как надо.
Хоть убейте — не работает. Идея в том, что макрос срабатывает при нажатии на ячейку. Берет значение из текущей активной строки и 2 столбца, ищет на другом листе и должен его просто выделить. Вся идея.
В коде грешу на
«ВзятьДанные = Cells(ActiveCell.Row, 2).Value»
Он не берет значение -> не может найти его на другом листе. Как заставить его видеть значение. ( Кавычки ставил — не помогает.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ra As Range, finra As Range
If Target.Cells.Value = «» Then Exit Sub
If Not Intersect(Target, Range(«AF3:AF5000»)) Is Nothing Then
ВзятьДанные = Cells(ActiveCell.Row, 2).Value
Sheets(«Результат»).Select
For Each cell In Range(«A3:A2000»).Cells
If cell = ВзятьДанные Then
If finra Is Nothing Then Set finra = cell Else Set finra = Union(finra, cell)
End If
Next
If Not finra Is Nothing Then finra.EntireRow.Select
Application.ScreenUpdating = True
End If
End Sub
Андрей, так попробуйте
Со скрытием строчек все отлично. но что делать, если в дальнейшем мне нужно некоторые скрытые строки вновь раскрыть (т.к. признак для скрытия для них может в будущем быть нерелевантен)?
Сделал такую билеберду, но скрытые строки он не раскрывает 🙁 Видимо не видит скрытые строки. Помогите советом пожалуйста!
Sub Макрос()
Dim ra As Range, delra As Range, ТекстДляПоиска As String
Application.ScreenUpdating = False
For Each ra In ActiveSheet.UsedRange.Rows
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
If Not delra Is Nothing Then delra.EntireRow.Hidden = False
End Sub
Кирилл, так попробуйте:
УдалятьСтрокиСТекстом = Worksheets(«ИмяВторогоЛиста»).range(«a2:a10»)
или так
УдалятьСтрокиСТекстом = Worksheets(2).range(«a2:a10»)
Добрый день! Ваш макрос очень выручает, Подскажите, как сделать, чтобы слова для поиска брались не из строки = Array(«Наименование *», «Количество», «текст?», «цен*сти», «*78*»),а с другого листа
Спасибо, заработало.
Ну я и тупой.
Sub погрузка()
Dim ra As Range, delra As Range
Application.ScreenUpdating = False ‘ отключаем обновление экрана
‘ ищем и удаляем строки, содержащие заданный текст
‘ (можно указать сколько угодно значений и использовать подстановочные знаки)
УдалятьСтрокиСТекстом = Array(«ИД пункта:», «ИД маршрута:», _
«Название модели:», «Склад отгрузки:»)
‘ перебираем все строки в используемом диапозоне листа
For Each ra In ActiveSheet.UsedRange.Rows
‘ перебираем все фразы в массиве
If ra.Row >= 17 Then
For Each word In УдалятьСтрокиСТекстом
Next word
End If
‘ если в очередной строке листа найден искомый текст
If Not ra.Find(word, , xlValues, xlPart) Is Nothing Then
‘ добовляем строку в диапазон для удаления
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
‘ если подходящие строки найдены, то (оставте одну из следующих строк)
If Not delra Is Nothing Then delra.EntireRow.Hidden = True ‘ скрываем их
If Not delra Is Nothing Then delra.EntireRow.Delete ‘ удаляем их
End Sub
Пожалуйста, подскажите что не так, в таком исполнении не хочет удалять с 17 строки.
Gjlcrf;bnt xnj yt nfr
If ra.row >= 17 then
For Each word In УдалятьСтрокиСТекстом
.
Next word
end if
Похоже я не совсем правильно выразил свою мысль, в макросе УдалениеСтрокПоНесколькимУсловиям нужно удалять строки с определенным текстом только с 17 строки и до конца листа.
Вместо
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
пишете
ra.Replace («Что заменить», «»)
нет, мне в этом макросе нужно что бы текст удалялся с определенной сторки.
Судя по описанию задачи, Вам нужна штатная функция Эксель — заменить. Ctrl+H. Найти — пишете нужный Вам текст, поле «Заменить на» оставляете пустым.
а можете подсказать, как можно найти и удалить текст с определенной строки.
Как удалить строки по условию?
Предположу, что почти каждый сталкивался с ситуацией, когда необходимо удалить только определенные строки: имеется большая таблица и необходимо удалить из неё только те строки, которые содержат какое-то слово (цифру, фразу). Для выполнения подобной задачи можно воспользоваться несколькими способами.
Способ первый:
Использовать встроенное средство Excel — фильтр. Сначала его необходимо «установить» на листе:
- Выделяем таблицу с данными, включая заголовки. Если их нет — то выделяем с самой первой строки таблицы, в которой необходимо удалить данные
- устанавливаем фильтр:
- для Excel 2003 : Данные—Фильтр—Автофильтр
- для Excel 2007-2010 : вкладка Данные (Data) —Фильтр (Filter)(или вкладка Главная (Home) —Сортировка и фильтр (Sort&Filter) —Фильтр (Filter) )
Теперь выбираем условие для фильтра:
- в Excel 2003 надо выбрать Условие и в появившейся форме выбрать непосредственно условие(«равно», «содержит», «начинается с» и т.д.), а напротив значение в соответствии с условием.
- Для 2007-2010 Excel нужно выбрать Текстовые фильтры (Text Filters) и либо сразу выбрать одно из предлагаемых условий, либо нажать Настраиваемый фильтр (Custom Filter) и ввести значения для отбора в форме
После этого удалить отфильтрованные строки. В 2007 Excel могут возникнуть проблемы с удалением отфильтрованных строк, поэтому рекомендую сначала так же прочитать статью: Excel удаляет вместо отфильтрованных строк — все?! Как избежать.
Способ второй:
применить код VBA, который потребует только указания значения, которое необходимо найти в строке и номер столбца, в котором искать значение.
Sub Del_SubStr() Dim sSubStr As String ‘искомое слово или фраза(может быть указанием на ячейку) Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim lMet As Long Dim arr sSubStr = InputBox(«Укажите значение, которое необходимо найти в строке», «Запрос параметра», «») If sSubStr = «» Then lMet = 0 Else lMet = 1 lCol = Val(InputBox(«Укажите номер столбца, в котором искать указанное значение», «Запрос параметра», 1)) If lCol = 0 Then Exit Sub lLastRow = ActiveSheet.UsedRange.Row — 1 + ActiveSheet.UsedRange.Rows.Count arr = Cells(1, lCol).Resize(lLastRow).Value Application.ScreenUpdating = 0 Dim rr As Range For li = 1 To lLastRow ‘цикл с первой строки до конца If -(InStr(arr(li, 1), sSubStr) > 0) = lMet Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Если значение sSubStr не будет указано, то будут удалены строки, ячейки указанного столбца которых, пустые.
Данный код необходимо поместить в стандартный модуль. Вызвать с листа его можно нажатием клавиш Alt + F8 , после чего выбрать Del_SubStr и нажать Выполнить. Если в данном коде в строке
If -(InStr(Cells(li, 1), sSubStr) > 0) = lMet Then
вместо = lMet указать <> lMet , то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска «отчет», то будут удалены все строки, в которых встречается это слово(«квартальный отчет», «отчет за месяц» и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:
Sub Del_SubStr() Dim sSubStr As String ‘искомое слово или фраза(может быть указанием на ячейку) Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim arr sSubStr = InputBox(«Укажите значение, которое необходимо найти в строке», «Запрос параметра», «») lCol = Val(InputBox(«Укажите номер столбца, в котором искать указанное значение», «Запрос параметра», 1)) If lCol = 0 Then Exit Sub lLastRow = ActiveSheet.UsedRange.Row — 1 + ActiveSheet.UsedRange.Rows.Count arr = Cells(1, lCol).Resize(lLastRow).Value Application.ScreenUpdating = 0 Dim rr As Range For li = 1 To lLastRow ‘цикл с первой строки до конца If CStr(arr(li, 1)) = sSubStr Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Здесь так же, как и в случае с предыдущим кодом можно заменить оператор сравнения( Cells(li, lCol) = sSubStr ) с равно на неравенство( Cells(li, lCol) <> sSubStr ) и тогда удаляться будут строки, значения ячеек которых не равно указанному.
УДАЛЕНИЕ СТРОК НА ОСНОВАНИИ СПИСКА ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Иногда бывают ситуации, когда необходимо удалить строки не по одному значению, а по нескольким. Например, если строка содержит или Итог или Отчет. Ниже приведен код, при помощи которого можно удалить строки, указав в качестве критерия диапазон значений.
Значения, которые необходимо найти и удалить перечисляются на листе с именем «Лист2». Т.е. указав на «Лист2» в столбце А(начиная с первой строки) несколько значений — они все будут удалены. Если лист называется иначе(скажем «Соответствия») в коде необходимо будет «Лист2» заменить на «Соответствия». Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.
Sub Del_Array_SubStr() Dim sSubStr As String ‘искомое слово или фраза Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim avArr, lr As Long Dim arr lCol = Val(InputBox(«Укажите номер столбца, в котором искать указанное значение», «Запрос параметра», 1)) If lCol = 0 Then Exit Sub Application.ScreenUpdating = 0 lLastRow = ActiveSheet.UsedRange.Row — 1 + ActiveSheet.UsedRange.Rows.Count ‘заносим в массив значения листа, в котором необходимо удалить строки arr = Cells(1, lCol).Resize(lLastRow).Value ‘Получаем с Лист2 значения, которые надо удалить в активном листе With Sheets(«Лист2») ‘Имя листа с диапазоном значений на удаление avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With ‘удаляем Dim rr As Range For lr = 1 To UBound(avArr, 1) sSubStr = avArr(lr, 1) For li = 1 To lLastRow ‘цикл с первой строки до конца If CStr(arr(li, 1)) = sSubStr Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If DoEvents Next li DoEvents Next lr If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub
Чтобы код выше удалял строки не по точному совпадению слов, а по частичному(например, в ячейке записано «Привет, как дела?», а в списке есть слово «привет» — надо удалить, т.к. есть слово «привет»), то надо строку:
Как в Excel удалить строки по условию
При редактировании больших таблиц в Microsoft Office Excel иногда нужно избавиться от целой группы данных, которые распределены по всему массиву. Вручную отыскивать нужные области достаточно трудоемкий процесс, требующий большого количества времени. Сегодня разберемся, как в excel удалить строки по условию.
Чтобы быстро избавиться от ненужных данных, необходимо воспользоваться фильтром. В качестве примера рассмотрим отчет о выручке с проданных фруктов. Необходимо убрать позиции, где выручка меньше 100.
- Выделяете таблицу, на главной вкладке панели инструментов ищете кнопку Сортировка и фильтр и из выпадающего списка выбираете нужную опцию.
- Щелкаете по стрелочке в столбце Выручка, переходите к строке Числовые фильтры и выбираете нужное условие. В нашем случае меньше.
- В новом окне вводите число, меньше которого будет применяться фильтрация.
- Выделяете полученный фрагмент таблицы, нажимаете правой клавишей мыши и выбираете Удалить строку.
- Снова нажимаете стрелочку вниз и щелкаете по опции снять фильтр.
- Таблица принимает вид без удаленных строк.
Чтобы автоматически убирать ненужные строки, можно воспользоваться специальным инструментом редактора – макросами. Эта функция требует знаний в области программирования и синтаксисе языка Visual Basic for Application (VBA), а также необходимо иметь идею для решения задачи по средствам подпрограммы. В интернете много готовых макросов, которые подходят для удаления строк в таблице. Достаточно их скачать и привязать к редактору.
Важно! Скачивайте файлы только с проверенных сайтов во избежание заражения компьютера вирусами.
Как видите, удалить строки по условию не трудно. Более продвинутые пользователи могут воспользоваться макросами, а для остальных отлично подойдет фильтрация данных по заданному критерию.
Жми «Нравится» и получай только лучшие посты в Facebook ↓
17 авг. 2022 г.
читать 2 мин
В следующем пошаговом примере показано, как удалить в Excel все строки, содержащие определенный текст.
Шаг 1: Создайте данные
Во-первых, давайте создадим набор данных, который показывает рейтинги трех игроков в разных баскетбольных командах:
Шаг 2. Найдите значения с определенным текстом
Предположим, мы хотим удалить каждую строку, содержащую « Плохо » в качестве одной из оценок.
На вкладке « Главная » нажмите значок « Найти и выбрать », а затем нажмите « Найти » в раскрывающемся меню:
В появившемся новом окне введите Bad в поле поиска и нажмите « Найти все ».
Затем нажмите Ctrl+A , чтобы выделить все ячейки, содержащие текст Bad.Затем нажмите Закрыть .
Все ячейки, содержащие Bad , будут выделены.
Шаг 3: удалите строки с определенным текстом
Затем щелкните значок « Удалить » на вкладке « Главная », а затем выберите « Удалить строки листа » в раскрывающемся меню:
Все строки, содержащие Bad в одной из ячеек, будут автоматически удалены:
Обратите внимание, что ни в одной из оставшихся строк рейтинг игрока не указан как плохой ни в одном из столбцов.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Excel: как проверить, содержит ли ячейка частичный текст
Excel: как проверить, содержит ли ячейка текст из списка
Excel: как рассчитать среднее значение, если ячейка содержит текст
Excel: как подсчитать частоту текста
Написано

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.
Содержание
- Процесс удаления строк
- Способ 1: одиночное удаление через контекстное меню
- Способ 2: одиночное удаление с помощью инструментов на ленте
- Способ 3: групповое удаление
- Способ 4: удаление пустых элементов
- Способ 5: использование сортировки
- Способ 6: использование фильтрации
- Способ 7: условное форматирование
- Вопросы и ответы
Во время работы с программой Excel часто приходится прибегать к процедуре удаления строк. Этот процесс может быть, как единичным, так и групповым, в зависимости от поставленных задач. Особый интерес в этом плане представляет удаление по условию. Давайте рассмотрим различные варианты данной процедуры.
Процесс удаления строк
Удаление строчек можно произвести совершенно разными способами. Выбор конкретного решения зависит от того, какие задачи ставит перед собой пользователь. Рассмотрим различные варианты, начиная от простейших и заканчивая относительно сложными методами.
Способ 1: одиночное удаление через контекстное меню
Наиболее простой способ удаления строчек – это одиночный вариант данной процедуры. Выполнить его можно, воспользовавшись контекстным меню.
- Кликаем правой кнопкой мыши по любой из ячеек той строки, которую нужно удалить. В появившемся контекстном меню выбираем пункт «Удалить…».
- Открывается небольшое окошко, в котором нужно указать, что именно нужно удалить. Переставляем переключатель в позицию «Строку».
После этого указанный элемент будет удален.
Также можно кликнуть левой кнопкой мыши по номеру строчки на вертикальной панели координат. Далее следует щелкнуть по выделению правой кнопкой мышки. В активировавшемся меню требуется выбрать пункт «Удалить».
В этом случае процедура удаления проходит сразу и не нужно производить дополнительные действия в окне выбора объекта обработки.
Способ 2: одиночное удаление с помощью инструментов на ленте
Кроме того, эту процедуру можно выполнить с помощью инструментов на ленте, которые размещены во вкладке «Главная».
- Производим выделение в любом месте строчки, которую требуется убрать. Переходим во вкладку «Главная». Кликаем по пиктограмме в виде небольшого треугольника, которая расположена справа от значка «Удалить» в блоке инструментов «Ячейки». Выпадает список, в котором нужно выбрать пункт «Удалить строки с листа».
- Строчка будет тут же удалена.
Также можно выделить строку в целом, щелкнув левой кнопки мыши по её номеру на вертикальной панели координат. После этого, находясь во вкладке «Главная», жмем на значок «Удалить», размещенный в блоке инструментов «Ячейки».
Способ 3: групповое удаление
Для выполнения группового удаления строчек, прежде всего, нужно произвести выделение необходимых элементов.
- Для того, чтобы удалить несколько рядом расположенных строчек, можно выделить смежные ячейки данных строк, находящиеся в одном столбце. Для этого зажимаем левую кнопку мыши и курсором проводим по этим элементам.
Если диапазон большой, то можно выделить самую верхнюю ячейку, щелкнув по ней левой кнопкой мыши. Затем зажать клавишу Shift и кликнуть по самой нижней ячейке того диапазона, который нужно удалить. Выделены будут все элементы, находящиеся между ними.
В случае, если нужно удалить строчные диапазоны, которые расположены в отдалении друг от друга, то для их выделения следует кликнуть по одной из ячеек, находящихся в них, левой кнопкой мыши с одновременно зажатой клавишей Ctrl. Все выбранные элементы будут отмечены.
- Чтобы провести непосредственную процедуру удаления строчек вызываем контекстное меню или же переходим к инструментам на ленте, а далее следуем тем рекомендациям, которые были даны во время описания первого и второго способа данного руководства.
Выделить нужные элементы можно также через вертикальную панель координат. В этом случае будут выделяться не отдельные ячейки, а строчки полностью.
- Для того, чтобы выделить смежную группу строк, зажимаем левую кнопку мыши и проводим курсором по вертикальной панели координат от верхнего строчного элемента, который нужно удалить, к нижнему.
Можно также воспользоваться и вариантом с использованием клавиши Shift. Кликаем левой кнопкой мышки по первому номеру строки диапазона, который следует удалить. Затем зажимаем клавишу Shift и выполняем щелчок по последнему номеру указанной области. Весь диапазон строчек, лежащий между этими номерами, будет выделен.
Если удаляемые строки разбросаны по всему листу и не граничат друг с другом, то в таком случае, нужно щелкнуть левой кнопкой мыши по всем номерам этих строчек на панели координат с зажатой клавишей Ctrl.
- Для того, чтобы убрать выбранные строки, щелкаем по любому выделению правой кнопкой мыши. В контекстном меню останавливаемся на пункте «Удалить».
Операция удаления всех выбранных элементов будет произведена.
Урок: Как выполнить выделение в Excel
Способ 4: удаление пустых элементов
Иногда в таблице могут встречаться пустые строчки, данные из которых были ранее удалены. Такие элементы лучше убрать с листа вовсе. Если они расположены рядом друг с другом, то вполне можно воспользоваться одним из способов, который был описан выше. Но что делать, если пустых строк много и они разбросаны по всему пространству большой таблицы? Ведь процедура их поиска и удаления может занять значительное время. Для ускорения решения данной задачи можно применить нижеописанный алгоритм.
- Переходим во вкладку «Главная». На ленте инструментов жмем на значок «Найти и выделить». Он расположен в группе «Редактирование». В открывшемся списке жмем на пункт «Выделение группы ячеек».
- Запускается небольшое окошко выделения группы ячеек. Ставим в нем переключатель в позицию «Пустые ячейки». После этого жмем на кнопку «OK».
- Как видим, после того, как мы применили данное действие, все пустые элементы выделены. Теперь можно использовать для их удаления любой из способов, о которых шла речь выше. Например, можно нажать на кнопку «Удалить», которая расположена на ленте в той же вкладке «Главная», где мы сейчас работаем.
Как видим, все незаполненные элементы таблицы были удалены.
Обратите внимание! При использовании данного метода строчка должна быть абсолютно пустая. Если в таблице имеются пустые элементы, расположенные в строке, которая содержит какие-то данные, как на изображении ниже, этот способ применять нельзя. Его использование может повлечь сдвиг элементов и нарушение структуры таблицы.
Урок: Как удалить пустые строки в Экселе
Способ 5: использование сортировки
Для того, чтобы убрать строки по определенному условию можно применять сортировку. Отсортировав элементы по установленному критерию, мы сможем собрать все строчки, удовлетворяющие условию вместе, если они разбросаны по всей таблице, и быстро убрать их.
- Выделяем всю область таблицы, в которой следует провести сортировку, или одну из её ячеек. Переходим во вкладку «Главная» и кликаем по значку «Сортировка и фильтр», которая расположена в группе «Редактирование». В открывшемся списке вариантов действий выбираем пункт «Настраиваемая сортировка».
Можно также совершить альтернативные действия, которые тоже приведут к открытию окна настраиваемой сортировки. После выделения любого элемента таблицы переходим во вкладку «Данные». Там в группе настроек «Сортировка и фильтр» жмем на кнопку «Сортировка».
- Запускается окно настраиваемой сортировки. Обязательно установите галочку, в случае её отсутствия, около пункта «Мои данные содержат заголовки», если у вашей таблицы имеется шапка. В поле «Сортировать по» нужно выбрать наименование столбца, по которому будет происходить отбор значений для удаления. В поле «Сортировка» нужно указать, по какому именно параметру будет происходить отбор:
- Значения;
- Цвет ячейки;
- Цвет шрифта;
- Значок ячейки.
Тут уже все зависит от конкретных обстоятельств, но в большинстве случаев подходит критерий «Значения». Хотя в дальнейшем мы поговорим и об использовании другой позиции.
В поле «Порядок» нужно указать, в каком порядке будут сортироваться данные. Выбор критериев в этом поле зависит от формата данных выделенного столбца. Например, для текстовых данных порядок будет «От А до Я» или «От Я до А», а для даты «От старых к новым» или «От новых к старым». Собственно сам порядок большого значения не имеет, так как в любом случае интересующие нас значения будут располагаться вместе.
После того, как настройка в данном окне выполнена, жмем на кнопку «OK». - Все данные выбранной колонки будут отсортированы по заданному критерию. Теперь мы можем выделить рядом находящиеся элементы любым из тех вариантов, о которых шла речь при рассмотрении предыдущих способов, и произвести их удаление.
Кстати, этот же способ можно использовать для группировки и массового удаления пустых строчек.
Внимание! Нужно учесть, что при выполнении такого вида сортировки, после удаления пустых ячеек положение строк будет отличаться от первоначального. В некоторых случаях это не важно. Но, если вам обязательно нужно вернуть первоначальное расположение, то тогда перед проведением сортировки следует построить дополнительный столбец и пронумеровать в нем все строчки, начиная с первой. После того, как нежелательные элементы будут удалены, можно провести повторную сортировку по столбцу, где располагается эта нумерация от меньшего к большему. В таком случае таблица приобретет изначальный порядок, естественно за вычетом удаленных элементов.
Урок: Сортировка данных в Экселе
Способ 6: использование фильтрации
Для удаления строк, которые содержат определенные значения, можно также использовать такой инструмент, как фильтрация. Преимущество данного способа состоит в том, что, если вам вдруг эти строчки когда-нибудь понадобится снова, то вы их сможете всегда вернуть.
- Выделяем всю таблицу или шапку курсором с зажатой левой кнопкой мыши. Кликаем по уже знакомой нам кнопке «Сортировка и фильтр», которая расположена во вкладке «Главная». Но на этот раз из открывшегося списка выбираем позицию «Фильтр».
Как и в предыдущем способе, задачу можно также решить через вкладку «Данные». Для этого, находясь в ней, нужно щелкнуть по кнопке «Фильтр», которая расположена в блоке инструментов «Сортировка и фильтр».
- После выполнения любого из вышеуказанных действий около правой границы каждой ячейки шапки появится символ фильтрации в виде треугольника, направленного углом вниз. Жмем по этому символу в том столбце, где находится значение, по которому мы будем убирать строки.
- Открывается меню фильтрования. Снимаем галочки с тех значений в строчках, которые хотим убрать. После этого следует нажать на кнопку «OK».
Таким образом, строки, содержащие значения, с которых вы сняли галочки, будут спрятаны. Но их всегда можно будет снова восстановить, сняв фильтрацию.
Урок: Применение фильтра в Excel
Способ 7: условное форматирование
Ещё более точно можно задать параметры выбора строк, если вместе с сортировкой или фильтрацией использовать инструменты условного форматирования. Вариантов ввода условий в этом случае очень много, поэтому мы рассмотрим конкретный пример, чтобы вы поняли сам механизм использования этой возможности. Нам нужно удалить строчки в таблице, по которым сумма выручки менее 11000 рублей.
- Выделяем столбец «Сумма выручки», к которому хотим применить условное форматирование. Находясь во вкладке «Главная», производим щелчок по значку «Условное форматирование», который расположен на ленте в блоке «Стили». После этого открывается список действий. Выбираем там позицию «Правила выделения ячеек». Далее запускается ещё одно меню. В нем нужно конкретнее выбрать суть правила. Тут уже следует производить выбор, основываясь на фактической задаче. В нашем отдельном случае нужно выбрать позицию «Меньше…».
- Запускается окно условного форматирования. В левом поле устанавливаем значение 11000. Все значения, которые меньше него, будут отформатированы. В правом поле есть возможность выбрать любой цвет форматирования, хотя можно также оставить там значение по умолчанию. После того, как настройки выполнены, щелкаем по кнопке «OK».
- Как видим, все ячейки, в которых имеются значения выручки менее 11000 рублей, были окрашены в выбранный цвет. Если нам нужно сохранить изначальный порядок, после удаления строк делаем дополнительную нумерацию в соседнем с таблицей столбце. Запускаем уже знакомое нам окно сортировки по столбцу «Сумма выручки» любым из способов, о которых шла речь выше.
- Открывается окно сортировки. Как всегда, обращаем внимание, чтобы около пункта «Мои данные содержат заголовки» стояла галочка. В поле «Сортировать по» выбираем столбец «Сумма выручки». В поле «Сортировка» устанавливаем значение «Цвет ячейки». В следующем поле выбираем тот цвет, строчки с которым нужно удалить, согласно условному форматированию. В нашем случае это розовый цвет. В поле «Порядок» выбираем, где будут размещаться отмеченные фрагменты: сверху или снизу. Впрочем, это не имеет принципиального значения. Стоит также отметить, что наименование «Порядок» может быть смещено влево от самого поля. После того, как все вышеуказанные настройки выполнены, жмем на кнопку «OK».
- Как видим, все строчки, в которых имеются выделенные по условию ячейки, сгруппированы вместе. Они будут располагаться вверху или внизу таблицы, в зависимости от того, какие параметры пользователь задал в окне сортировки. Теперь просто выделяем эти строчки тем методом, который предпочитаем, и проводим их удаление с помощью контекстного меню или кнопки на ленте.
- Затем можно отсортировать значения по столбцу с нумерацией, чтобы наша таблица приняла прежний порядок. Ставший ненужным столбец с номерами можно убрать, выделив его и нажав знакомую нам кнопку «Удалить» на ленте.
Поставленная задача по заданному условию решена.
Кроме того, можно произвести аналогичную операцию с условным форматированием, но только после этого проведя фильтрацию данных.
- Итак, применяем условное форматирование к столбцу «Сумма выручки» по полностью аналогичному сценарию. Включаем фильтрацию в таблице одним из тех способов, которые были уже озвучены выше.
- После того, как в шапке появились значки, символизирующие фильтр, кликаем по тому из них, который расположен в столбце «Сумма выручки». В открывшемся меню выбираем пункт «Фильтр по цвету». В блоке параметров «Фильтр по цвету ячейки» выбираем значение «Нет заливки».
- Как видим, после этого действия все строчки, которые были залиты цветом с помощью условного форматирования, исчезли. Они спрятаны фильтром, но если удалить фильтрацию, то в таком случае, указанные элементы снова отобразятся в документе.
Урок: Условное форматирование в Экселе
Как видим, существует очень большое количество способов удалить ненужные строки. Каким именно вариантом воспользоваться зависит от поставленной задачи и от количества удаляемых элементов. Например, чтобы удалить одну-две строчки вполне можно обойтись стандартными инструментами одиночного удаления. Но чтобы выделить много строк, пустые ячейки или элементы по заданному условию, существуют алгоритмы действий, которые значительно облегчают задачу пользователям и экономят их время. К таким инструментам относится окно выделения группы ячеек, сортировка, фильтрация, условное форматирование и т.п.
history 24 апреля 2013 г.
- Группы статей
- Вывод отобранных значений в отдельный диапазон
- Отбор строк в таблице
- Пустые ячейки
Если список значений содержит пропуски (пустые ячейки), то это может существенно затруднить его дальнейший анализ. С помощью формул уберем пустые ячейки из колонки с данными. Также напишем формулу, чтобы удалить нули из списка значений. В конце статьи научимся удалять вообще любое заданное значение из списка: символ, число, текстовую строку.
Пусть имеется список с
пустыми
ячейками (столбец
А
).
Задача
Убрать пустые ячейки из списка, сформировав формулами список в соседнем столбце. То есть под словом «убрать» будем понимать не удаление значения из исходного списка, а формирование еще одного списка, но уже без лишних символов. Чтобы действительно убрать значения из списка нужно использовать макросы — программу на VBA.
Решение
Для избавления от пустых ячеек запишем в ячейке
B2
формулу массива
и скопируем ее вниз (см. файл примера): =ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14));СТРОКА(A1)));»»)
Получим в соседнем столбце
B
список со значениями из исходого, но уже без пропусков. Формула работает одинакового и для текстовых значений и для чисел. Алгоритм работы формулы следующий:
-
ЕСЛИ(ЕПУСТО($A$2:$A$14);»»;СТРОКА($A$2:$A$14)) – если ячейка не пуста, то эта часть формулы возвращает номер строки. То есть формируется массив номеров строк, НЕ содержащих пустоты {2:»»:4:5:6:»»:»»:9:10:»»:»»:13:14} На месте пустых ячеек в массиве будет символ «» (пустой текст), но можно его заменить в формуле на любую текстовую строку, например «ккк». Проверить результат можно выделив эту часть формулы и нажав
клавишу
F9
; - Функция НАИМЕНЬШИЙ() сортирует массив строк по возрастанию. В сортированном списке сначала будут идти номера строк затем значения «», т.к. в EXCEL считается, что любое текстовое значение больше любого числа (значение пустой текст — текстовое значение);
-
Далее для функции ДВССЫЛ() формируются адреса ячеек с непустыми значениями. Например, ДВССЫЛ(«A»&2) возвращает значение из ячейки
А2
. Для пустых ячеек будет формироваться ошибочные адреса ячеек, состоящие только из символа А. Это вызовет ошибку после применения функции ДВССЫЛ(); - Функция ЕСЛИОШИБКА() вместо ошибки будет возвращать «». Этот символ не отображается в ячейке и ячейка выглядит пустой.
На самом деле в соседнем столбце
B
список будет отличаться не только тем, что в нем значения будут идти подряд без пропусков. Если в исходном списке пустые ячейки действительно не содержали ничего, то в новом списке в пустых ячейках будут значения Пустой текст «». Хотя внешний вид пустых ячеек из обоих списков будет неотличим, но формулы увидят разницу. То есть, если Вы планируете делать дальнейшие манипуляции с новым списком, то имейте ввиду, что теперь пустые ячейки в конце списка теперь не совсем пусты — они содержат текстовое значение «». Подробнее про это специфическое значение читайте
здесь
.
Изменим немного формулу: =ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ( ЕПУСТО($A$2:$A$14);»»;$A$2:$A$14);СТРОКА(A1));»»)
Получим тот же список, но еще и
сортированный
по возрастанию (работает только для чисел).
Список также можно сформировать в столбце С другой
формулой массива
:
=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО(СписокСпропусками);»»;СТРОКА(СписокСпропусками));СТРОКА()-СТРОКА($C$1)));»»)
СписокСпропусками
в формуле — это
динамический диапазон
, который образован формулой:
=СМЕЩ($A$2;;;ДлинаСпискаСпропусками)
Длину списка с пропусками
можно вычислить с помощью формулы:
=ПОИСКПОЗ(ПОВТОР(«я»;10);$A$2:$A$14;1)
СОВЕТ:
Для удаления и выделения пустых строк и ячеек традиционными средствами EXCEL, пользуйтесь идеями из статей
Удаляем пустые строки в таблице
и
Выделение группы ячеек
. О том, что EXCEL понимает под пустыми ячейками, читайте в статье
Подсчет пустых ячеек
.
Удаляем заданные символы из списка
Часто в списке присутствуют ненужные для дальнейшего анализа значения, например 0 (нуль).
Немного модернизировав вышеуказанную формулу получим универсальный подход для удаления вообще любого символа, числа или текстовой строки из исходного списка (см. файл примера, в котором на листе Произвольный символ приведена универсальнаяформула).
Пусть исходный список находится в диапазоне A12:A24, а в ячейке B6 содержится значение которое нужно удалить из ячеек списка.
=ЕСЛИОШИБКА(ДВССЫЛ(«A»&НАИМЕНЬШИЙ(ЕСЛИ($A$12:$A$24=$B$6;»»;СТРОКА($A$12:$A$24));СТРОКА()-СТРОКА($A$11)));»»)
Единственным отличием является выражение $A$12:$A$24=$B$6, которое заменило формулу с ЕПУСТО(…)
Теперь если значение в исходном списке не равно искомому значению, то вместо него будет выведено значение «» (в конце списка).
Удаляем в MS EXCEL пустые строки в таблице
Смотрите такжесам я в кнопку «Найти иВставка — Функция (Insert рабочим диапазонам имена, на вкладку «Данные» условию, существуют алгоритмы нужно удалить, согласно После этого следует интересующие нас значения
таблице имеются пустыеShift помощью инструментов на. Жмем на кнопку личных приоритетов пользователя.
не содержат формулы. наступить необходимость удалитьЧасто, особенно при импорте VBA не силён), выделить» и выбираем — Function) используя
Сортировка
— «Работа с действий, которые значительно условному форматированию. В нажать на кнопку будут располагаться вместе. элементы, расположенные в. Кликаем левой кнопкой ленте, которые размещены«Копировать»Урок:Выделяем диапазон, который собираемся пустые ячейки. Они
данных в EXCEL, мне до этого пункт «Выделение группыили жмем на кнопкуДиспетчер Имен (Name Manager) данными» — «Удалить облегчают задачу пользователям нашем случае это«OK»После того, как строке, которая содержит
мышки по первому во вкладке, которая размещена воУсловное форматирование в Excel обрабатывать. Находясь во зачастую являются ненужным на листе могут попадалась подобная конструкция ячеек». В появившемся
Фильтр
Вставить функциюна вкладке дубликаты». и экономят их розовый цвет. В. настройка в данном какие-то данные, как номеру строки диапазона,«Главная»
Выделение группы ячеек
вкладкеУрок: вкладке элементом и только
- формироваться таблицы с на удаление строк, диалоговом окне «Выделение
- (Insert Function)Формулы (Formulas)В открывшемся окне выделяем время. К таким
- полеТаким образом, строки, содержащие
- окне выполнена, жмем на изображении ниже, который следует удалить.
- .«Главная»Сортировка и фильтрация данных
«Главная» увеличивают общий массив ПОЛНОСТЬЮ пустыми строками.но при запуске группы ячеек» включаемна вкладкеили — в те столбцы, в инструментам относится окно«Порядок» значения, с которых на кнопку этот способ применять Затем зажимаем клавишуПроизводим выделение в любомв блоке инструментов в Excel
, жмем на пиктограмму
данных, чем запутывают Научимся быстро удалять вываливалась ошибка ругаясь опцию «Пустые ячейки»Формулы (Formulas) Excel 2003 и
excel2.ru
Удаление пустых ячеек в Microsoft Excel
которых находятся повторяющиеся выделения группы ячеек,выбираем, где будут вы сняли галочки,«OK» нельзя. Его использованиеShift месте строчки, которую«Буфер обмена»Кроме того, убрать пустые«Условное форматирование»
пользователя. Определим способы, эти ненужные строки,
Алгоритмы удаления
на выполнение этого и нажимаем кнопкув новых версиях старше — меню значения. Так как сортировка, фильтрация, условное размещаться отмеченные фрагменты: будут спрятаны. Но. может повлечь сдвиги выполняем щелчок требуется убрать. Переходим.
- ячейки из массива, которая, в свою какими можно быстро
- которые в дальнейшем действия Rows().Delete ОК. В предварительно Excel. В категорииВставка — Имя -
нужно удалять повторяющиеся форматирование и т.п. сверху или снизу. их всегда можноВсе данные выбранной колонки элементов и нарушение по последнему номеру во вкладкуПосле этого выделяем первоначальный можно, применив сложную
Способ 1: выделение групп ячеек
очередь, располагается в удалить пустые элементы. могут затруднить работуВ общем, ещё
- выделенном столбце будутОпределенные пользователем (User Defined) Присвоить строки, то должныАвтор: Максим Тютюшев Впрочем, это не будет снова восстановить, будут отсортированы по структуры таблицы.
- указанной области. Весь«Главная» массив данных. Щелкаем формулу, состоящую из блоке инструментовСкачать последнюю версию с таблицей.
- раз большое спасибо выделены все пустыевыберите нашу функцию(Insert — Name - быть выделены всеПри импорте и копировании имеет принципиального значения. сняв фильтрацию. заданному критерию. Теперь
- Урок: диапазон строчек, лежащий. Кликаем по пиктограмме правой кнопкой мыши. нескольких функций.«Стили» ExcelПредставим, что у нас SergGhost и другим ячейки. Остается кликнуть
- NoBlanks Define) столбцы. таблиц в Excel Стоит также отметить,Урок: мы можем выделитьКак удалить пустые строки между этими номерами,
в виде небольшого В открывшемся спискеПрежде всего, нам нужно. Переходим в пункт
Способ 2: условное форматирование и фильтрация
Прежде всего, нужно разобраться, есть таблица с не безразличным участникам правой кнопкой мыши.Диапазону B3:B10 даем имяПосле нажатия ОК Excel могут формироваться пустые что наименованиеПрименение фильтра в Excel рядом находящиеся элементы в Экселе будет выделен. треугольника, которая расположена в группе будет дать имя
- открывшегося списка а действительно ли какими-то значениями, в форума. в любом местеВ качестве аргумента функцииЕстьПустые формирует мини-отчет вида: строки и ячейки.«Порядок»Ещё более точно можно любым из техДля того, чтобы убратьЕсли удаляемые строки разбросаны справа от значка«Параметры вставки» диапазону, который подвергается
- «Правила выделения ячеек» можно в конкретном которой есть полностьюВероятно тему можно выделенного поля и укажите исходный диапазон, диапазону D3:D10 -Проредить таблицу можно с Они мешают работе,может быть смещено задать параметры выбора
- вариантов, о которых строки по определенному по всему листу«Удалить»жмем на пиктограмму трансформации. Выделяем область,. В появившемся списке массиве или таблице пустые строки. считать закрытой.А можно выбрать пункт «Удалить…» с пустотами (B3:B10)НетПустых помощью макроса. Например, отвлекают. влево от самого строк, если вместе шла речь при
- условию можно применять и не граничатв блоке инструментов«Значения делаем щелчок правой действий выбираем позицию удалять пустые ячейки?Приведем методы, которые используются ли удалить «пустые» в контекстном меню, и нажмите. Диапазоны должны быть такого:Некоторые формулы могут работать
поля. После того, с сортировкой или рассмотрении предыдущих способов, сортировку. Отсортировав элементы друг с другом,«Ячейки»». кнопкой мышки. В«Больше…» Указанная процедура приводит
- при удалении пустых строки, если в а в появившемсяCtrl+Shift+Enter строго одного размера,А можно ручками. Предлагаем некорректно. Использовать ряд как все вышеуказанные фильтрацией использовать инструменты и произвести их по установленному критерию, то в таком. Выпадает список, в
- После этих действий данные активировавшемся меню выбираем. к смещению данных, строк. Зачем нужно первой ячейке А диалоговом окне «Удаление, чтобы ввести функцию а расположены могут простенький способ, доступный инструментов в отношении
- настройки выполнены, жмем условного форматирования. Вариантов удаление. мы сможем собрать случае, нужно щелкнуть котором нужно выбрать будут вставлены в пунктОткрывается окошко условного форматирования. а это далеко удалять пустые строки проставлена только дата, ячеек» выбрать пункт как формулу массива. быть где угодно
каждому пользователю. не полностью заполненного
на кнопку ввода условий вКстати, этот же способ
Способ 3: применение сложной формулы
все строчки, удовлетворяющие левой кнопкой мыши пункт изначальную область своего«Присвоить имя…»
- В левое поле не всегда является можно прочитать в остальные ячейки строки «Строка» и нажатьg_r_a_y относительно друг друга.В конце таблицы делаем диапазона невозможно. Научимся«OK»
- этом случае очень можно использовать для условию вместе, если по всем номерам«Удалить строки с листа» расположения цельным диапазоном. вписываем цифру допустимым. По сути, статье Советы по пустые? Спасибо.Полагаю, что ОК. При этом,: Преветствую Вас, гурЫТеперь выделим первую ячейку вспомогательный столбец. Заполняем быстро удалять пустые.
- много, поэтому мы группировки и массового они разбросаны по этих строчек на. без пустых ячеек.Открывается окно присвоения наименования.«0» элементы можно удалять построению таблиц. да. Хотя сам
- строго говоря, удаляются excel-я )) второго диапазона (D3) чередующимися данными. Например, ячейки в концеКак видим, все строчки, рассмотрим конкретный пример, удаления пустых строчек.
- всей таблице, и панели координат сСтрочка будет тут же При желании массив, В поле. В правом поле только в двухСамым простым способом удаления не проверял. С
не пустые строки,Постигла меня бЯда и введем в «о у о или середине таблицы. в которых имеются чтобы вы понялиВнимание! Нужно учесть, что быстро убрать их. зажатой клавишей удалена.
- который содержит формулу,«Имя» выбираем любой цвет, случаях: пустых строк является этим есть сложности?Спасибо. а строки, содержащие лютая, подколодная и нее такую страшноватую у о у» Будем использовать простые выделенные по условию сам механизм использования при выполнении такогоВыделяем всю область таблицы,CtrlТакже можно выделить строку теперь можно удалить.даем любое удобное но можно оставить
- Если строка (столбец) полностью сортировка таблицы: выделяем разобралась сама. пустые ячейки в закручинился добрый молодец формулу: и т.д. Вносим средства, доступные пользователю ячейки, сгруппированы вместе. этой возможности. Нам вида сортировки, после в которой следует. в целом, щелкнувУрок: название. Главное условие настройки по умолчанию. является пустой (в диапазон, в которомВо многих случаях пустые
- предварительно выделенном столбце. над думой тяжкою=ЕСЛИ(СТРОКА()-СТРОКА(НетПустых)+1>ЧСТРОК(ЕстьПустые)-СЧИТАТЬПУСТОТЫ(ЕстьПустые);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(ЕстьПустые<>»»;СТРОКА(ЕстьПустые);СТРОКА()+ЧСТРОК(ЕстьПустые)));СТРОКА()-СТРОКА(НетПустых)+1);СТОЛБЕЦ(ЕстьПустые);4))) значения в первые любого уровня. Они будут располагаться нужно удалить строчки удаления пустых ячеек провести сортировку, или
- Для того, чтобы убрать левой кнопки мышиКак присвоить имя ячейке – в нем Щелкаем по кнопке таблицах); содержится таблица ( строки на листе
РоманИ неподъёмною ))В английской версии это
четыре ячейки. ПотомЧтобы показать на примере, вверху или внизу в таблице, по положение строк будет одну из её выбранные строки, щелкаем по её номеру в Excel не должно быть«OK»Если ячейки в строке
А2:C17
lumpics.ru
Удаление строки в Microsoft Excel
представляют собой проблему.: У меня нетВ общем помогите будет: выделяем их. «Цепляем» как удалить лишние таблицы, в зависимости которым сумма выручки отличаться от первоначального. ячеек. Переходим во по любому выделению на вертикальной панелиСуществует несколько способов удаления пробелов. Для примера
. и столбце логически
Процесс удаления строк
), затем вызываем команду Например, если ваша тех 76 строк с решением одной=IF(ROW()-ROW(НетПустых)+1>ROWS(ЕстьПустые)-COUNTBLANK(ЕстьПустые),»»,INDIRECT(ADDRESS(SMALL((IF(ЕстьПустые<>»»,ROW(ЕстьПустые),ROW()+ROWS(ЕстьПустые))),ROW()-ROW(НетПустых)+1),COLUMN(ЕстьПустые),4))) за черный крестик строки, для демонстрации от того, какие менее 11000 рублей. В некоторых случаях
Способ 1: одиночное удаление через контекстное меню
вкладку правой кнопкой мыши. координат. После этого, пустых элементов в мы присвоили диапазонуКак видим, все ячейки
- не связаны друг меню Данные/ Сортировка таблица с даннымиSergGhost проблемки, сам яПричем ввести ее надо в правом нижнем порядка действий возьмем
- параметры пользователь задалВыделяем столбец это не важно.«Главная» В контекстном меню находясь во вкладке Microsoft Excel. Вариант
наименование указанного диапазона, в
с другом (в и фильтр/ Сортировка содержит пустые строки,: спасибо за совет уже почти отчаялся как формулу массива, углу и копируем таблицу с условными в окне сортировки.«Сумма выручки» Но, если вам
и кликаем по останавливаемся на пункте«Главная» с выделением групп«С_пустыми» которых находятся значения,
Способ 2: одиночное удаление с помощью инструментов на ленте
массивах). от минимального к то возникнут сложности по такому способу её решить да т.е. после вставки буквы до конца
- данными: Теперь просто выделяем, к которому хотим обязательно нужно вернуть значку«Удалить», жмем на значок ячеек наиболее простой. Больше никаких изменений были выделены вЕсли пустых ячеек мало, максимальному или просто с фильтрацией, сортировкой, выборки, но это и в инете нажать не диапазона.
- Пример 1. Сортировка данных эти строчки тем
применить условное форматирование. первоначальное расположение, то«Сортировка и фильтр».«Удалить» и быстрый. Но в том окне выбранный цвет, а то их вполне /Сортировка. построением сводных, т.к. не решило проблему.. мне ничего толковогоEnter
Способ 3: групповое удаление
Устанавливаем «Фильтр». Отфильтровываем последний в таблице. Выделяем методом, который предпочитаем, Находясь во вкладке
- тогда перед проведением, которая расположена вОперация удаления всех выбранных, размещенный в блоке ситуации бывают разные. вносить не нужно. пустые остались белыми. можно удалить сПри сортировке таблиц с Microsoft Excel считает
если кто знаком не попалось.(как обычно), а столбец по значению всю таблицу. Открываем и проводим их«Главная» сортировки следует построить группе элементов будет произведена. инструментов Поэтому, как дополнительные Жмем на кнопку
Опять выделяем наш помощью обычного ручного несколькими столбцами нужно пустую строку разрывом с oracle иСуть такова, вCtrl+Shift+Enter «у». вкладку «Данные» - удаление с помощью, производим щелчок по дополнительный столбец и«Редактирование»Урок:
- «Ячейки» способы, можно использовать«OK» диапазон. В этой способа удаления. Но, быть осторожным, чтобы таблицы. структорой таблиц в прикреплённом файле xls,. Теперь формулу можноВыделяем все что осталось
инструмент «Сортировка и контекстного меню или значку пронумеровать в нем. В открывшемся спискеКак выполнить выделение в.
- варианты с фильтрованием. же вкладке если таких незаполненных ячейки не перескочилиОбычно для удаления нём, там есть лист используется как скопировать вниз, используя
после фильтрации и фильтр» — нажимаем кнопки на ленте.«Условное форматирование» все строчки, начиная вариантов действий выбираем ExcelДля выполнения группового удаления и применением комплекснойВыделяем в любом месте«Главная» элементов большое количество, из своих строк пустых строк включают у таблиц такой шаблон для загрузки
автозаполнение (потянуть за удаляем. кнопку «Сортировка». ИлиЗатем можно отсортировать значения, который расположен на с первой. После пунктИногда в таблице могут строчек, прежде всего, формулы. на листе точнощелкаем по кнопке то в этом
- в другие. Поэтому, фильтр, отбирают пустые параметр, так называемая данных, после n-ого черный крестик вУбираем фильтр – останутся щелкаем правой кнопкой по столбцу с
ленте в блоке того, как нежелательные
«Настраиваемая сортировка» встречаться пустые строчки, нужно произвести выделение
Способ 4: удаление пустых элементов
Автор: Максим Тютюшев такой же по«Сортировка и фильтр» случае, данную процедуру для сортировки нужно строки вручную и — верхняя отметка количества операций удаления правом нижнем углу только ячейки с мыши по выделенному нумерацией, чтобы наша«Стили» элементы будут удалены,. данные из которых необходимых элементов.Во время работы с размерам диапазон пустых, расположенной в группе нужно автоматизировать. выделять всю таблицу. затем их удаляют, (high — water
- и вставки ползунок ячейки) — и «о». диапазону и делаем таблица приняла прежний. После этого открывается можно провести повторнуюМожно также совершить альтернативные были ранее удалены.Для того, чтобы удалить программой Excel часто ячеек. Аналогично кликаем
- «Редактирование»Наиболее простой способ удалить После сортировки по что хотя и mark — высшая горизонтальной прокрутки превращается мы получим исходныйВспомогательный столбец можно устранить сортировку «от минимального
- порядок. Ставший ненужным список действий. Выбираем сортировку по столбцу, действия, которые тоже Такие элементы лучше несколько рядом расположенных приходится прибегать к правой кнопкой мыши. В открывшемся меню пустые элементы – возрастанию пустые строки не сложно, но точка) сегмента, так в «точку» )) диапазон, но без и работать с к максимальному». столбец с номерами
там позицию где располагается эта приведут к открытию
убрать с листа строчек, можно выделить процедуре удаления строк. и, вызвав контекстное жмем на кнопку это воспользоваться инструментом окажутся внизу таблицы. занимает некоторое время. вот мне кажется , что в пустых ячеек: «прореженной таблицей».Пустые строки после сортировки можно убрать, выделив
«Правила выделения ячеек» нумерация от меньшего окна настраиваемой сортировки.
Способ 5: использование сортировки
вовсе. Если они смежные ячейки данных Этот процесс может меню, переходим по«Фильтр» выделения групп ячеек.Если важен порядок строкДля автоматизации подобной задачи (с моей дилетантской свою очередь усложняетЕсли есть подозрение, что
- Однажды пользователь скрыл некую по возрастанию оказываются его и нажав. Далее запускается ещё к большему. В После выделения любого расположены рядом друг строк, находящиеся в быть, как единичным, пункту.Выделяем диапазон на листе, до сортировки, то проще всего использовать точки зрения), что скроллинг для конечного вам часто придется информацию в строках,
внизу диапазона. знакомую нам кнопку одно меню. В таком случае таблица элемента таблицы переходим с другом, то одном столбце. Для так и групповым,«Присвоить имя…»После этих действий, как над которым будем перед сортировкой нужно простой макрос. Нажмите тут что-то подобное
- пользователя. Удалить лишние повторять процедуру удаления чтобы она неЕсли порядок значений важен,«Удалить» нем нужно конкретнее приобретет изначальный порядок, во вкладку вполне можно воспользоваться этого зажимаем левую в зависимости от. видим, в верхнем проводить операцию поиска создать столбец с Alt+F11 или выберите и как с «пустые» строки, а
- пустых ячеек из
- отвлекала от работы.
- то до сортировки
- на ленте.
выбрать суть правила. естественно за вычетом«Данные» одним из способов, кнопку мыши и поставленных задач. ОсобыйВ открывшемся окне, как элементе столбца появилась и удаления пустых
порядковой нумерацией строк, на вкладке этим бороться я также отобрать фильтром диапазонов, то лучше Думал, что впоследствии необходимо вставить пустойПоставленная задача по заданному Тут уже следует удаленных элементов.. Там в группе который был описан курсором проводим по интерес в этом и в предыдущий пиктограмма символизирующая фильтр. элементов. Жмем на а после удаленияРазработчик не знаю.. не получается. один раз добавить данные еще понадобятся. столбец, сделать сквозную
условию решена. производить выбор, основываясьУрок: настроек выше. Но что этим элементам. - плане представляет удаление раз, присваиваем любое Жмем на неё. функциональную клавишу на пустых строк, заново- Visual Basicда точно, видимоПоможите люди добрые в стандартный набор Не понадобились – нумерацию. После сортировки
Кроме того, можно произвести на фактической задаче.Сортировка данных в Экселе«Сортировка и фильтр»
делать, если пустыхЕсли диапазон большой, то по условию. Давайте наименование данной области. В открывшемся списке клавиатуре отсортировать таблицу уже(Developer — Visual Basic при подготовке примера побороть эту вражину свою функцию для скрытые строки можно и удаления пустых аналогичную операцию с В нашем отдельномДля удаления строк, которыежмем на кнопку строк много и можно выделить самую рассмотрим различные варианты Мы решили дать переходим в пунктF5 по этому столбцу. Editor) исчезли) теперь их акаянную )) удаления пустых ячеек,
удалить: они влияют строк вновь отсортировать
Способ 6: использование фильтрации
условным форматированием, но случае нужно выбрать содержат определенные значения,«Сортировка» они разбросаны по верхнюю ячейку, щелкнув данной процедуры. ей название«Сортировка по цвету».Для нахождения пустых ячеек. Если вкладки Разработчик
- 8g_r_a_y и пользоваться ей на формулы, мешают. данные по вставленному только после этого позицию можно также использовать. всему пространству большой по ней левойСкачать последнюю версию«Без_пустых». Далее в группеЗапускается небольшое окошко, которое
можно также воспользоваться не видно, тоесли у вас: А можно поподробнее. во всех последующихВ тренировочной таблице скрыты столбцу с нумерацией. проведя фильтрацию данных.«Меньше…» такой инструмент, какЗапускается окно настраиваемой сортировки. таблицы? Ведь процедура кнопкой мыши. Затем
- Excel.«Сортировка по цвету ячейки» называется Фильтром (Главная/ Редактирование/ можно включить ее стоит отбор по Пустые строки у случаях. ряды 5, 6,Пример 2. Фильтр. ДиапазонИтак, применяем условное форматирование
- . фильтрация. Преимущество данного Обязательно установите галочку, их поиска и зажать клавишуУдаление строчек можно произвестиВыделяем двойным щелчком левойвыбираем тот цвет,
«Переход» Сортировка и фильтр/ через пустым строкам то Вас образовались из-заДля этого откройте редактор 7:
должен быть отформатирован к столбцу
Способ 7: условное форматирование
Запускается окно условного форматирования. способа состоит в в случае её удаления может занятьShift совершенно разными способами. кнопки мышки первую которым произошло выделение. Жмем в нем Фильтр). Выбираем подходящийФайл — Параметры - отобранные строки подсвечены того, что шапка Visual Basic (Будем их удалять. как таблица с«Сумма выручки»
- В левом поле том, что, если отсутствия, около пункта значительное время. Дляи кликнуть по Выбор конкретного решения ячейку условного диапазона в результате условного кнопку столбец, отображаем только Настройка ленты (File синим цветом, остальные состоит из 2ALT+F11Переходим на «Файл»-«Сведения»-«Поиск проблем» заголовками. Выделяем «шапку».по полностью аналогичному устанавливаем значение вам вдруг эти«Мои данные содержат заголовки» ускорения решения данной самой нижней ячейке зависит от того,«Без_пустых» форматирования.«Выделить…» пустые ячейки, выделяем — Options -
- можно увидеть по строк, притом заполнена), вставьте новый пустой — инструмент «Инспектор На вкладке «Данные» сценарию. Включаем фильтрацию11000 строчки когда-нибудь понадобится, если у вашей задачи можно применить того диапазона, который какие задачи ставит(у вас онМожно также сделать немного. строки не содержащие Customize Ribbon)
- ctrl + end только первая. модуль (меню документов». нажимаем кнопку «Фильтр» в таблице одним. Все значения, которые снова, то вы таблицы имеется шапка. нижеописанный алгоритм. нужно удалить. Выделены перед собой пользователь. может назваться и по-другому. Кликаем поОткрывается следующее окно – данных и удаляем. или «Найти и
- g_r_a_yInsert — ModuleВ отрывшемся окне ставим («Сортировка и фильтр»). из тех способов, меньше него, будут их сможете всегда В полеПереходим во вкладку будут все элементы, Рассмотрим различные варианты, по-другому). Вставляем в значку фильтрации. В«Выделение групп ячеек» их.В открывшемся окне редактора выделить» => «Выделение: ошибочка небольшая не) и скопируйте туда галочку напротив «Скрытые Справа от названия которые были уже отформатированы. В правом вернуть.«Сортировать по»«Главная» находящиеся между ними. начиная от простейших неё формулу следующего появившемся меню снимаем. Устанавливаем в немДругим способом выделения пустых Visual Basic выберите группы ячеек» => горизонтальный, а вертикальный текст этой функции: строки и столбцы». каждого столбца появится
- озвучены выше. поле есть возможностьВыделяем всю таблицу илинужно выбрать наименование. На ленте инструментовВ случае, если нужно и заканчивая относительно типа: галочку с позиции переключатель в позицию ячеек является использование в меню «Последнюю ячейку» ползунок )Function NoBlanks(DataRange As Нажимаем «Проверить». стрелочка вниз. Нажимаем
- После того, как в выбрать любой цвет шапку курсором с столбца, по которому жмем на значок удалить строчные диапазоны, сложными методами.=ЕСЛИ(СТРОКА()-СТРОКА(Без_пустых)+1>ЧСТРОК(С_пустыми)-СЧИТАТЬПУСТОТЫ(С_пустыми);»»;ДВССЫЛ(АДРЕС(НАИМЕНЬШИЙ((ЕСЛИ(С_пустыми «»;СТРОКА(С_пустыми);СТРОКА()+ЧСТРОК(С_пустыми)));СТРОКА()-СТРОКА(Без_пустых)+1);СТОЛБЕЦ(С_пустыми);4)))«Пустые»«Пустые ячейки» инструмента Выделение группы
Insert — Moduleg_r_a_y
отбор стоит по Range) As Variant()Через несколько секунд программа – открывается окно шапке появились значки,
- форматирования, хотя можно зажатой левой кнопкой будет происходить отбор«Найти и выделить» которые расположены вНаиболее простой способ удаленияТак как это формула. После этого щелкаем. Выполняем щелчок по
- ячеек.и в появившийся: ну да, 8 пустым строкам, но Dim N As отображает результат проверки. фильтрации. Снимаем выделение символизирующие фильтр, кликаем также оставить там мыши. Кликаем по значений для удаления.. Он расположен в отдалении друг от строчек – это массива, то для
- по кнопке кнопкевыделяем диапазон пустой модуль скопируйте внизу отбора есть. если по комбинации Long Dim N2Нажимаем «Удалить все». На напротив имени «Пустые». по тому из значение по умолчанию.
уже знакомой нам В поле
группе друга, то для одиночный вариант данной выведения расчета на«OK»«OK»А2:C17 и вставьте следующие Но они как-раз ctrl + end As Long Dim экране появится соответствующееТаким же способом можно них, который расположен После того, как кнопке«Сортировка»«Редактирование» их выделения следует процедуры. Выполнить его экран нужно нажать..;
строки:
lumpics.ru
Как удалить пустые строки в Excel быстрыми способами
до того места, перейти к последней Rng As Range уведомление. удалить пустые ячейки в столбце
настройки выполнены, щелкаем«Сортировка и фильтр»нужно указать, по. В открывшемся списке кликнуть по одной можно, воспользовавшись контекстным комбинацию клавишВ любом из указанныхКак видим, все пустыевыбираем пункт меню Главная/Sub DeleteEmptyRows() LastRow
Как в таблице Excel удалить пустые строки?
где Вы записали записи листа, как Dim MaxCells AsВ результате проделанной работы в строке Excel.«Сумма выручки»
по кнопке, которая расположена во какому именно параметру жмем на пункт из ячеек, находящихся меню.Ctrl+Shift+Enter в предыдущем пункте элементы указанного диапазона Редактирование/ Найти и = ActiveSheet.UsedRange.Row - свой текст)))))
я это понимаю Long Dim Result() скрытые ячейки удалены,
Выбираем нужный столбец. В открывшемся меню«OK» вкладке будет происходить отбор:«Выделение группы ячеек» в них, левойКликаем правой кнопкой мыши, вместо обычного нажатия
вариантов пустые элементы были выделены. Кликаем выделить/ Выделение группы 1 + ActiveSheet.UsedRange.Rows.CountNTalisman )), то показывает As Variant Dim нумерация восстановлена. и фильтруем его выбираем пункт.«Главная»Значения;
. кнопкой мыши с по любой из кнопки будут скрыты. Выделяем по любому из
ячеек…, ‘определяем размеры таблицы: … сотрите текст, лишние 76 строк R As LongТаким образом, убрать пустые, данные.«Фильтр по цвету»
Как видим, все ячейки,. Но на этот
Цвет ячейки;Запускается небольшое окошко выделения одновременно зажатой клавишей ячеек той строки,
Enter диапазон оставшихся ячеек.
них правой кнопкойвыберите пункт пустые ячейки Application.ScreenUpdating = False удалите строки и на которые не Dim C As
повторяющиеся или скрытыеПример 3. Выделение группы. В блоке параметров в которых имеются раз из открывшегосяЦвет шрифта; группы ячеек. Ставим
Ctrl
Как удалить повторяющиеся строки в Excel?
которую нужно удалить.. На вкладке мыши. В запустившемся в разделе Выделить; For r = попробуйте снова
влияют отборы, но Long MaxCells = ячейки таблицы можно ячеек. Выделяем всю«Фильтр по цвету ячейки» значения выручки менее списка выбираем позициюЗначок ячейки.
в нем переключатель. Все выбранные элементы
Как удалить каждую вторую строку в Excel?
В появившемся контекстномНо, как видим, заполнилась«Главная»
контекстном меню щелкаемдалее нажимаем маленькую стрелочку LastRow To 1
- SergGhost после большого количества Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, с помощью встроенного таблицу. В главномвыбираем значение 11000 рублей, были«Фильтр»Тут уже все зависит в позицию будут отмечены. меню выбираем пункт только одна ячейка.в блоке настроек
- по пункту в меню Главная/ Step -1 ‘проходим
- : При выгрузке, вероятно, удаления/вставки подобных строк DataRange.Cells.Count) ReDim Result(1
- функционала программы Excel. меню на вкладке«Нет заливки»
окрашены в выбранный. от конкретных обстоятельств,
Как удалить скрытые строки в Excel?
«Пустые ячейки»Чтобы провести непосредственную процедуру«Удалить…» Для того, чтобы«Буфер обмена»«Удалить…» Ячейки/ Удалить; от последней строки — выбрать максимальное становится куча и
To MaxCells, 1Имеем диапазон ячеек с «Редактирование» нажимаем кнопку
.
- цвет. Если намКак и в предыдущем но в большинстве
- . После этого жмем удаления строчек вызываем. заполнились и остальные,
- выполняем щелчок по.
- выберем Удалить ячейки (удалить до первой If возможное количество заполненных
извести их у To 1) For данными, в котором
«Найти и выделить».Как видим, после этого нужно сохранить изначальный способе, задачу можно случаев подходит критерий
exceltable.com
Удаление пустых ячеек из диапазона
Постановка задачи
на кнопку контекстное меню илиОткрывается небольшое окошко, в
нужно скопировать формулу кнопкеОткрывается маленькое окошко, в
Способ 1. Грубо и быстро
- ячейки, со сдвигом
- Application.CountA(Rows(r)) = 0 строк, например 100, меня не получается Each Rng In есть пустые ячейки: Выбираем инструмент «Выделение действия все строчки, порядок, после удаления также решить через«Значения»«OK» же переходим к
котором нужно указать, на оставшуюся часть - «Копировать» котором нужно выбрать, вверх). Then Rows(r).Delete ‘если а могут быть (( DataRange.Cells If Rng.Value
Способ 2. Формула массива
Задача — удалить пустые группы ячеек». которые были залиты строк делаем дополнительную вкладку. Хотя в дальнейшем. инструментам на ленте, что именно нужно диапазона. Это можно. что именно следуетЗдесь нужно быть аккуратным:
в строке пусто заполнены всего 20,SergGhost <> vbNullString Then ячейки, оставив толькоВ открывшемся окне выбираем цветом с помощью нумерацию в соседнем«Данные»
мы поговорим иКак видим, после того, а далее следуем удалить. Переставляем переключатель сделать с помощью
Затем выделяем любую пустую
удалить. Оставляем настройки если таблица сдержит
— удаляем ее
выгрузит 20 заполненных: ….. N = N ячейки с информацией. пункт «Пустые ячейки». условного форматирования, исчезли. с таблицей столбце.. Для этого, находясь об использовании другой как мы применили тем рекомендациям, которые в позицию маркера заполнения. Устанавливаем область на том по умолчанию – помимо пустых строк,
Способ 3. Пользовательская функция на VBA
Next r End и 80 пустыхСожалею, воспроизвести не + 1 Result(N,Выделяем исходный диапазонПрограмма отмечает пустые ячейки. Они спрятаны фильтром, Запускаем уже знакомое в ней, нужно позиции. данное действие, все были даны во
«Строку» курсор в нижний же или на«Ячейки, со сдвигом вверх» строки с заполненными SubNTalisman получается.
1) = Rng.ValueЖмем клавишу На главной странице но если удалить нам окно сортировки щелкнуть по кнопкеВ поле пустые элементы выделены. время описания первого. правый угол ячейки, другом листе. Выполняем. Жмем на кнопку и пустыми ячейками,Закройте редактор и вернитесь:g_r_a_y End If NextF5 находим вкладку «Ячейки», фильтрацию, то в по столбцу«Фильтр»«Порядок» Теперь можно использовать и второго способаПосле этого указанный элемент содержащей комплексную функцию. щелчок правой кнопкой«OK» то часть ячеек в Excel.У меня я: не совсем понял,
Rng For N2, далее кнопка нажимаем «Удалить». таком случае, указанные«Сумма выручки», которая расположена в
- нужно указать, в для их удаления
- данного руководства. будет удален. Курсор должен преобразоваться мыши. В появившемся. перескочит со своихТеперь нажмите сочетание Alt+F8 так понимаю их а что именно = N +ВыделитьРезультат – заполненный диапазон элементы снова отобразятсялюбым из способов,
- блоке инструментов каком порядке будут любой из способов,Выделить нужные элементы можноТакже можно кликнуть левой в крестик. Зажимаем контекстном списке действий
planetaexcel.ru
Удаление «пустых» строк в EXCEL
После этих манипуляций все строк на другие, или кнопку
5))) И ты не получается? 1 To MaxCells(Special) «без пустот».
в документе. о которых шла«Сортировка и фильтр» сортироваться данные. Выбор о которых шла также через вертикальную кнопкой мыши по левую кнопку мыши
в параметрах вставки пустые элементы внутри что испортит таблицу.Макросы хочешь чтобы ониg_r_a_y Result(N2, 1) =. В открывшмся окнеВнимание! После удаления частьУрок: речь выше.. критериев в этом речь выше. Например, панель координат. В номеру строчки на
и тянем его выбираем пункт указанного диапазона будут
Если таблица вна вкладке не отображались при: вот так не vbNullString Next N2 выбираем ячеек перескакивает вверхУсловное форматирование в Экселе
Открывается окно сортировки. КакПосле выполнения любого из поле зависит от можно нажать на
этом случае будут вертикальной панели координат. вниз до самого«Значения» удалены. формате EXCEL 2007,Разработчик фильтре «пустые»? получается? If Application.Caller.Rows.Count =Пустые ячейки – данные могутКак видим, существует очень всегда, обращаем внимание, вышеуказанных действий около формата данных выделенного кнопку
выделяться не отдельные Далее следует щелкнуть
конца диапазона.
Удалить пустые ячейки можно то EXCEL не.Помогает макрос:
Удаление при помощи 1 Then NoBlanks(Blanks)
перепутаться. Поэтому для большое количество способов
чтобы около пункта правой границы каждой столбца. Например, для«Удалить» ячейки, а строчки по выделению правой«Без_пустых»Как видим, произошла вставка также путем применения даст испортить такимВ открывшемся окнеPureBasic Sub DeleteEmptyRows() выделения группы ячеек = Application.Transpose(Result) Elseи жмем перекрывающихся диапазонов инструмент удалить ненужные строки.«Мои данные содержат заголовки» ячейки шапки появится текстовых данных порядок, которая расположена на полностью. кнопкой мышки. В. данных без сохранения условного форматирования и образом таблицу: появится будут перечислены все LastRow = ActiveSheet.UsedRange.RowДля того чтобы NoBlanks = ResultОК не подходит. Каким именно вариантомстояла галочка. В символ фильтрации в будет ленте в тойДля того, чтобы выделить
активировавшемся меню требуетсяКак видим, после этого форматирования. Теперь можно
последующей фильтрации данных. сообщение «Данная команда доступные вам в — 1 + удалить пустые строки
End If End.Полезный совет! Сочетание клавиш воспользоваться зависит от поле виде треугольника, направленного«От А до Я» же вкладке смежную группу строк, выбрать пункт действия мы имеем удалить первичный диапазон, Этот метод сложнее неприменима для перекрывающихся данный момент для ActiveSheet.UsedRange.Rows.Count Application.ScreenUpdating = в Excel 2007
FunctionВыделяются все пустые для удаления выделенной поставленной задачи и
«Сортировать по» углом вниз. Жмемили«Главная» зажимаем левую кнопку«Удалить» диапазон, в котором а на его предыдущего, но, тем диапазонов». запуска макросы, в
False For r и 2010 можноНе забудьте сохранить файл ячейки в диапазоне. строки в Excel от количества удаляемыхвыбираем столбец
по этому символу«От Я до А», где мы сейчас мыши и проводим
. подряд расположены заполненные место вставить тот, не менее, некоторыеСОВЕТ: том числе только = LastRow To использовать возможностью выделения и вернитесь из
Даем в меню команду CTRL+«-». А для
элементов. Например, чтобы«Сумма выручки» в том столбце,, а для даты работаем. курсором по вертикальной
В этом случае процедура
ячейки. Но выполнять который мы получили пользователи предпочитают именноСтоит помнить, что что созданный макрос 1 Step -1 группы ячеек. Для редактора Visual Basic на удаление выделенных ее выделения можно удалить одну-две строчки. В поле где находится значение,«От старых к новым»
Как видим, все незаполненные панели координат от удаления проходит сразу различные действия с в ходе вышеописанной
его. Кроме того, ячейки, содержащие формулыDeleteEmptyRows If Application.CountA(Rows(r)) =
этого выделяем столбец, в Excel. Чтобы ячеек: правой кнопкой нажать комбинацию горячих вполне можно обойтись
«Сортировка» по которому мыили элементы таблицы были верхнего строчного элемента, и не нужно этими данными мы процедуры, а можно нужно сразу оговориться, (даже если это. Выберите его и 0 Then Rows(r).Delete
CyberForum.ru
Удаление всех пустых строк на листе
содержащий пустые ячейки, использовать эту функцию мыши клавиш SHIFT+ПРОБЕЛ. стандартными инструментами одиночногоустанавливаем значение будем убирать строки.«От новых к старым» удалены. который нужно удалить, производить дополнительные действия не сможем, так
продолжать работу с что этот способ ссылки на пустые нажмите кнопку Next r End после чего находим в нашем примере:-
удаления. Но чтобы«Цвет ячейки»Открывается меню фильтрования. Снимаем. Собственно сам порядокОбратите внимание! При использовании к нижнему. в окне выбора как они связаны данными на новом подходит только в ячейки), не считаютсяВыполнить (Run) SubПасибиЩЩЩе волшебник SergGhost на ленте ExcelВыделите достаточный диапазон пустыхУдалить ячейки (Delete Cells)Чтобы удалить одинаковые строки
выделить много строк,. В следующем поле галочки с тех большого значения не данного метода строчкаМожно также воспользоваться и объекта обработки. формулой массива. Выделяем
месте. Тут все том случае, если пустыми по определению.- все пустые )) 2-ой пост вкладку «Главная», в ячеек, например F3:F10.со сдвигом вверх. в Excel, выделяем пустые ячейки или выбираем тот цвет, значений в строчках, имеет, так как должна быть абсолютно вариантом с использованиемКроме того, эту процедуру
весь диапазон уже зависит от
значения находятся вПри выполнении задач в строки на листе и в точку) группе «Редактирование» выбираемИдем в менюДля упрощения дадим нашим всю таблицу. Переходим элементы по заданному строчки с которым которые хотим убрать. в любом случае пустая. Если в клавиши можно выполнить с«Без_пустых» конкретных задач и одном столбце и приложении Excel может будут удалены.
planetaexcel.ru
то, что надо!


























































































































































































