Перенос данных на другой лист по условию — базовая задача для автоматизации отчетов в Excel. Вместо ручного копирования строк с помощью Ctrl + C и Ctrl + V, можно настроить динамический перенос, который будет обновляться сам при изменении исходной таблицы.
Видеоинструкция
Способ 1. Динамический перенос функцией ФИЛЬТР (для Excel 365 и 2021)
Самый простой и современный способ — использование функции ФИЛЬТР. Она автоматически вытягивает все строки, соответствующие вашему критерию.
Шаг 1. Подготовка формулы
Перейдите на новый лист, выделите левую верхнюю ячейку будущей таблицы и введите формулу:
=ФИЛЬТР(Лист1!A2:D100; Лист1!C2:C100="Оплачено"; "Нет совпадений") Где Лист1!A2:D100 — исходный диапазон, а Лист1!C2:C100="Оплачено" — ваше условие переноса.
Шаг 2. Проверка регистра данных
Если условие не срабатывает из-за разного регистра букв в исходной таблице, рекомендуем предварительно обработать текст. Подробнее о том, как это сделать, читайте в статье: Как сделать все буквы заглавными в Excel.
Способ 2. Перенос данных с помощью макроса VBA (для любых версий)
Если вам нужно физически переместить (вырезать) строки или работать в старых версиях Excel, используйте макрос.
Шаг 1. Открытие редактора VBA
Нажмите комбинацию клавиш Alt + F11, выберите в меню Insert -> Module и вставьте следующий код:
Sub CopyRowsByCondition()
Dim srcSheet As Worksheet, destSheet As Worksheet
Dim i As Long, nextRow As Long
Set srcSheet = Sheets("Лист1")
Set destSheet = Sheets("Лист2")
nextRow = destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row + 1
For i = 2 To srcSheet.Cells(srcSheet.Rows.Count, "A").End(xlUp).Row
If srcSheet.Cells(i, 3).Value = "Оплачено" Then
srcSheet.Rows(i).Copy destSheet.Rows(nextRow)
nextRow = nextRow + 1
End If
Next i
End Sub Запустите макрос кнопкой F5.
Дополнительно: Как автоматизировать запуск макроса
Вы можете привязать этот макрос к кнопке на листе или настроить его автоматический запуск при изменении ячеек через событие Worksheet_Change.
Частые ошибки / Устранение неполадок
Ошибка #ПОДПИСЬ? при использовании ФИЛЬТР: Ваша версия Excel не поддерживает динамические массивы. Используйте макрос VBA или стандартный Расширенный фильтр.
Данные не копируются из-за ограничений ввода: Если на целевом листе настроена строгая валидация ячеек, макрос может выдать ошибку. В таком случае изучите руководство: Как быстро удалить проверку данных в Excel.
Ошибки при связывании таблиц через ВПР: Если после переноса вы подтягиваете связанные данные и видите ошибку, ознакомьтесь с решением: Ошибка ВПР #Н/Д в Excel: как исправить.
Часто задаваемые вопросы
Можно ли переносить строки на другой лист автоматически без макросов?
Да, с помощью функции ФИЛЬТР в Excel 365/2021 или используя инструмент ‘Расширенный фильтр’ в более старых версиях.
Почему функция ФИЛЬТР возвращает ошибку #ПОМЕХА!?
Эта ошибка возникает, если на пути распространения динамического массива находятся другие данные. Очистите ячейки снизу и справа от формулы.








