Как удалить строки в Excel — все способы от простого к сложному

Удаление строк в Microsoft Excel часто приводит к неожиданным последствиям: сдвигаются формулы, теряются данные в связанных таблицах или нарушается структура отчёта. Если вы пытаетесь удалить пустые строки, дубликаты или выборочные записи по условию, но Excel игнорирует команду или выдаёт ошибку #ССЫЛКА!, проблема кроется в одном из трёх факторов: блокировке листа, скрытых зависимостях или неправильном выделении диапазона. Например, при попытке удалить строку с формулой =СУММ(B2:B10) программа автоматически скорректирует ссылки в других ячейках, что может исказить расчёты.

В этой статье разберём 7 рабочих методов — от базовых (через контекстное меню) до продвинутых (с использованием VBA и Power Query). Особое внимание уделим безопасному удалению: как сохранить целостность данных, если строки связаны с другими листами или внешними источниками. Также вы узнаете, почему иногда вместо удаления лучше скрыть строки и как вернуть случайно удалённые данные за 2 клика.

1. Базовое удаление строк через контекстное меню

Самый очевидный способ — использовать правую кнопку мыши, но даже здесь есть нюансы. Если выделить одну строку, Excel предложит удалить её целиком. Если же выделить диапазон ячеек (например, A1:D5), программа спросит, что именно удалять: ячейки со сдвигом влево/вверх или целые строки. Ошибка на этом этапе приводит к смещению данных в соседних столбцах.

Пошаговая инструкция:

  • 📌 Выделите номер строки слева (кликните по серому полю с цифрой). Для нескольких строк зажмите Ctrl или Shift.
  • 🖱️ Нажмите правую кнопку мыши → выберите «Удалить».
  • ⚙️ В окне подтверждения выберите «Целый строку» (не «Ячейки со сдвигом вверх»).
⚠️ Внимание: Если в удаляемых строках есть данные, связанные с сводными таблицами или внешними источниками, Excel может не предупредить об обрыве связей. Перед удалением проверьте зависимости через Данные → Зависимости формул → Влияющие ячейки.

Для ускорения процесса используйте горячие клавиши:

  • 🔹 Ctrl + - (минус на цифровой клавиатуре) → выбрать «Целый строку».
  • 🔹 Shift + Пробел → выделить всю строку → Ctrl + -.

2. Удаление пустых строк (включая "невидимые" пустые ячейки)

Пустые строки не только портят вид таблицы, но и мешают сортировке, фильтрации и анализу данных. Однако Excel часто воспринимает как "пустые" строки, где есть невидимые символы (пробелы, переносы) или форматирование (например, ячейка с белым шрифтом). Чтобы удалить их точно:

Способ 1: Через фильтр

  1. Выделите диапазон с данными (включая заголовки).
  2. Нажмите Данные → Фильтр (или Ctrl + Shift + L).
  3. В выпадающем списке столбца нажмите «Пустые» → Excel покажет только пустые строки.
  4. Выделите их → правая кнопка → «Удалить строку».

Способ 2: Формула для поиска "ложно пустых" строк

Введите в дополнительном столбце формулу:

=ЕПУСТО(A2)&ЕПУСТО(B2)&ЕПУСТО(C2)

Если результат ИСТИНА, строка действительно пустая. Отфильтруйте по этому столбцу и удалите.

Тип "пустоты"Как обнаружитьРешение
Истинно пустая строкаВсе ячейки без данных и форматированияУдалить через фильтр
С пробелами/переносамиФормула =ДЛСТР(A2)=0 возвращает ЛОЖЬИспользовать =ПЕЧСИМВ(A2) для очистки
С форматированиемЯчейка визуально "пустая", но имеет границы/цветПрименить Главная → Очистить → Форматы
С формулами, возвращающими ""В строке формул отображается =ЕСЛИ(...;"";...)Заменить формулы на значения (Ctrl + C → Специальная вставка → Значения)
📊 Как вы обычно удаляете пустые строки?
Через фильтр
Вручную выделяю и удаляю
Использую макрос
Не удаляю, а скрываю

3. Удаление строк по условию (например, дубликаты или значения)

Если нужно удалить строки, где в столбце B значение меньше 100, или где данные в столбцах A и C дублируются, используйте условное удаление. Это безопаснее, чем сортировка с последующим ручным удалением, так как исключает человеческую ошибку.

Метод 1: Удаление дубликатов

  • 🔍 Выделите диапазон (включая заголовки).
  • 📊 Перейдите в Данные → Удалить дубликаты.
  • ✅ Отметьте столбцы для проверки (например, Email и Телефон).
  • 🗑️ Нажмите «OK» — Excel покажет количество удалённых строк.

Метод 2: Удаление по формуле

Добавьте вспомогательный столбец с формулой, например, для удаления строк, где значение в B2 < 100:

=ЕСЛИ(B2<100;1;0)

Отфильтруйте по 1, выделите строки → удалите.

⚠️ Внимание: При удалении дубликатов Excel сохраняет первое вхождение и удаляет остальные. Если важно оставить последнюю запись, предварительно отсортируйте данные по убыванию.

Выделил диапазон с заголовками|

Создал резервную копию данных (Файл → Сохранить как)|

Проверял зависимости формул (Формулы → Зависимости формул)|

Отсортировал данные, если важно оставить конкретные дубликаты|

-->

4. Удаление строк с помощью макроса (VBA)

Если строк много (тысячи записей) или удаление нужно автоматизировать, напишите простой макрос. Например, этот код удаляет все строки, где в столбце A содержится слово "Устарело":

Sub DeleteRowsByKeyword()

Dim rng As Range, cell As Range

Dim i As Long

Set rng = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)

For i = rng.Rows.Count To 1 Step -1

If InStr(1, rng.Cells(i, 1).Value, "Устарело", vbTextCompare) > 0 Then

rng.Cells(i, 1).EntireRow.Delete

End If

Next i

End Sub

Как использовать:

  1. Нажмите Alt + F11 для открытия редактора VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Запустите макрос через F5 или кнопку «Выполнить».

Для удаления строк по нескольким условиям модифицируйте строку If:

If rng.Cells(i, 1).Value = "Устарело" Or rng.Cells(i, 2).Value < 100 Then
Расширенный макрос для удаления строк по цвету ячейки

Sub DeleteRowsByColor()

Dim rng As Range, cell As Range

Dim colorToDelete As Long

colorToDelete = RGB(255, 199, 206) ' Светло-красный

Set rng = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)

For i = rng.Rows.Count To 1 Step -1

If rng.Cells(i, 1).Interior.Color = colorToDelete Then

rng.Cells(i, 1).EntireRow.Delete

End If

Next i

End Sub

5. Скрытие строк вместо удаления (и как вернуть их обратно)

Если данные могут понадобиться позже, но мешают в текущей работе, скройте строки вместо удаления. Это сохраняет формулы и зависимости. Чтобы скрыть строки 5:10:

  1. Выделите строки 5–10 (кликните по номеру строки и протяните).
  2. Правая кнопка → «Скрыть».

Чтобы вернуть скрытые строки:

  • 🔍 Выделите диапазон, включающий скрытые строки (например, 4:11).
  • 🖱️ Правая кнопка → «Показать».

Для массового скрытия по условию используйте макрос:

Sub HideRowsByValue()

Dim rng As Range, cell As Range

Set rng = Range("B1:B" & Cells(Rows.Count, "B").End(xlUp).Row)

For Each cell In rng

If cell.Value = "Архив" Then cell.EntireRow.Hidden = True

Next cell

End Sub

⚠️ Внимание: Скрытые строки печатаются, если не настроить параметры печати. Чтобы исключить их, перейдите в Разметка страницы → Параметры листа → Печатать → <убрать галочку> "Скрытые строки".

6. Удаление строк в защищённом листе или сводной таблице

Если кнопка «Удалить» неактивна, лист защищён. Чтобы разблокировать:

  1. Перейдите в Рецензирование → Снять защиту листа.
  2. Введите пароль (если он установлен). По умолчанию часто используется 1234 или пустое поле.

Для сводных таблиц удаление строк работает иначе:

  • 📊 Кликните правой кнопкой по строке в сводной таблице → «Удалить [название поля]».
  • 🔄 Если нужно удалить исходные данные, измените источник данных (Анализ → Изменить данные).

Если сводная таблица связана с Power Query:

  1. Откройте Данные → Запросы и соединения.
  2. Найдите запрос → «Изменить» → отредактируйте шаги в Power Query.
  3. Удалите ненужные строки на этапе фильтрации.

7. Восстановление случайно удалённых строк

Если строки удалены по ошибке, попробуйте эти методы восстановления:

Способ 1: Отмена действия (Ctrl + Z)

  • 🔄 Работает только если после удаления не было других действий.
  • 📌 В Excel Online история изменений сохраняется дольше — до 30 дней.

Способ 2: Восстановление из временных файлов

  1. Закройте Excel.
  2. Откройте Файл → Сведения → Управление книгой → Восстановить несохранённые книги.
  3. Выберите последнюю автосохранённую версию.

Способ 3: Извлечение данных из старой версии файла

Если файл сохранялся ранее:

  • 📂 Найдите файл в Проводнике → кликните правой кнопкой → «Журнал изменений» (для OneDrive/SharePoint).
  • 🔍 Выберите версию до удаления → «Восстановить».
⚠️ Внимание: Если файл не сохранялся после удаления, данные восстановлению не подлежат. Регулярно используйте Файл → Сохранить как с новой датой в имени (например, Отчёт_2026-05-20.xlsx).

FAQ: Частые вопросы об удалении строк в Excel

Можно ли удалить строки в Excel на телефоне (Android/iOS)?

Да, но функционал ограничен. В мобильном Excel:

  1. Коснитесь номера строки → «Выделить» → выберите строки.
  2. Нажмите «Удалить» (значок корзины).

Горячие клавиши и макросы в мобильной версии не работают.

Почему при удалении строки смещаются данные в других листах?

Это происходит, если в формулах других листов используются относительные ссылки (например, =Лист1!A1). Чтобы избежать сдвига:

  • Замените ссылки на абсолютные (=Лист1!$A$1).
  • Используйте ИНДЕКС/ПОИСКПОЗ вместо ВПР.
Как удалить каждую вторую строку в большом диапазоне?

Способ 1: Через вспомогательный столбец

  1. Добавьте столбец с формулой =ОСТАТ(СТРОКА();2).
  2. Отфильтруйте по 0 (каждая вторая строка) → удалите.

Способ 2: Макрос

Sub DeleteEveryOtherRow()

Dim i As Long

For i = ActiveSheet.UsedRange.Rows.Count To 2 Step -2

Rows(i).Delete

Next i

End Sub

Можно ли удалить строки в защищённой книге без пароля?

Нет, если лист защищён паролем, который вы не знаете. Обход защиты требует специализированного ПО (например, PassFab for Excel), но это нарушает лицензионное соглашение Microsoft.

Альтернатива: скопируйте данные в новую книгу (Ctrl + A → Ctrl + C → Новый файл → Ctrl + V).

Почему после удаления строк формулы показывают #ССЫЛКА!?

Ошибка #ССЫЛКА! означает, что формула ссылалась на ячейки удалённой строки. Решения:

  • 🔍 Проверьте зависимости (Формулы → Зависимости формул → Влияющие ячейки).
  • 🔄 Замените формулы на значения (Копировать → Специальная вставка → Значения).
  • 📊 Используйте ЕСЛИОШИБКА для маскировки ошибки: =ЕСЛИОШИБКА(ВПР(...);0).