Как протянуть формулу в Excel до конца таблицы клавишами: 5 быстрых способов без мыши

Работаете с большими таблицами в Microsoft Excel и тратите время на растягивание формул мышью? Это не только медленно, но и чревато ошибками — достаточно случайно протянуть формулу не до того столбца или строки. К счастью, в Excel есть несколько способов автоматически копировать формулы до конца данных только с помощью клавиатуры. Причём некоторые из них работают даже быстрее, чем привычный двойной клик по маркеру заполнения.

В этой статье вы найдёте 5 проверенных методов — от классического Ctrl+D до малоизвестных комбинаций для продвинутых пользователей. Мы разберём, как протянуть формулу вниз, вправо и даже в обе стороны одновременно, а также покажем, как избежать типичных ошибок (например, когда формула копируется не до конца таблицы, а до последней строки листа). Все способы протестированы в Excel 2013–2026 и Excel 365, включая веб-версию.

Если вы регулярно работаете с формулами типа СУММ, ВПР или ИНДЕКС(ПОИСКПОЗ()), эти приёмы сэкономят вам часы в месяц. А для тех, кто любит автоматизацию, в конце статьи есть бонус — как протянуть формулу до конца таблицы одной клавишей (спойлер: это возможно с макросом).

1. Классический способ: Ctrl+D и Ctrl+R для копирования вниз и вправо

Самый простой и универсальный метод — использование горячих клавиш Ctrl+D (вниз) и Ctrl+R (вправо). Он работает в 99% случаев и не требует предварительной настройки.

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

  1. Введите формулу в первую ячейку диапазона (например, =A1*B1 в ячейке C1).
  2. Выделите ячейку с формулой и все ячейки ниже (или справа), куда её нужно скопировать. Например, если данные до строки 100, выделите C1:C100.
  3. Нажмите Ctrl+D (для копирования вниз) или Ctrl+R (для копирования вправо).

Плюсы:

  • 🔹 Работает во всех версиях Excel, включая онлайн.
  • 🔹 Не требует мыши — только клавиатура.
  • 🔹 Сохраняет относительные и абсолютные ссылки ($A$1).

Минусы:

  • 🔸 Нужно заранее знать, до какой строки протягивать формулу (иначе придётся повторять действие).
  • 🔸 Если в выделенном диапазоне есть пустые ячейки, формула скопируется некорректно.

2. Двойной клик мышью + клавиатурный аналог (малоизвестный трюк)

Многие знают, что по маркеру заполнения (маленький квадратик в правом нижнем углу ячейки) можно дважды кликнуть, и формула автоматически протянется до конца соседнего столбца с данными. Но этот же трюк можно сделать без мыши!

Алгоритм действий:

  1. Выделите ячейку с формулой (например, D2).
  2. Нажмите Alt+H, затем F, затем I, затем S (это путь к команде Главная → Заполнить → Вниз).
  3. Excel автоматически протянет формулу до первой пустой ячейки в соседнем столбце (аналогично двойному клику).

🔹 Когда это удобно:

  • 📌 Если данные в соседнем столбце заканчиваются не на последней строке листа.
  • 📌 Когда нужно протянуть формулу до динамически меняющегося конца таблицы.
📊 Какой способ протягивания формул вы используете чаще?
Мышью (двойной клик)
Горячие клавиши (Ctrl+D/R)
Комбинация Alt+HFI
Макросы/скрипты

3. Горячие клавиши для протягивания до конца листа (Ctrl+Shift+End)

Если ваша таблица занимает весь лист или вы хотите протянуть формулу до последней заполненной ячейки на листе (а не только до конца столбца), используйте комбинацию Ctrl+Shift+End. Этот метод полезен для больших отчётов, где данные разбросаны по всему листу.

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

  1. Выделите ячейку с формулой (например, E1).
  2. Нажмите Shift+Space, чтобы выделить всю строку.
  3. Затем нажмите Ctrl+Shift+End — Excel выделит все ячейки до последней заполненной строки и столбца.
  4. Теперь нажмите Ctrl+D, чтобы скопировать формулу вниз.

⚠️ Внимание:

Если на листе есть пустые строки или столбцы, Ctrl+Shift+End может выделить область не до конца данных, а до первой пустой ячейки. Перед использованием этого метода убедитесь, что таблица не содержит "дыр".

📊 Сравнение методов протягивания:

Способ Клавиши Куда копирует Работает с пустыми ячейками?
Ctrl+D/R Ctrl+D / Ctrl+R До конца выделенного диапазона Нет
Двойной клик (клавиатурный) Alt+HFI До конца соседнего столбца Да
Ctrl+Shift+End Ctrl+Shift+End + Ctrl+D До последней ячейки листа Нет

4. Автозаполнение с помощью таблиц Excel (лучший способ для динамических данных)

Если вы преобразуете свой диапазон в умную таблицу Excel (Ctrl+T), то формулы будут автоматически протягиваться при добавлении новых строк! Это идеальный вариант для отчётов, которые регулярно обновляются.

Как это работает:

  1. Выделите диапазон с данными (включая заголовки).
  2. Нажмите Ctrl+T, чтобы преобразовать в таблицу.
  3. Введите формулу в первую ячейку столбца (например, =СУММ(Таблица1[@[Столбец1]:[Столбец2]])).
  4. Формула автоматически скопируется на все строки таблицы, включая новые!

🔥 Почему это круто:

  • 🔥 Формулы обновляются динамически — не нужно протягивать вручную.
  • 🔥 Можно использовать структурированные ссылки (например, Таблица1[@Сумма]).
  • 🔥 Легко добавлять новые строки без риска сломать формулы.

Выделить диапазон с заголовками|Нажать Ctrl+T|Подтвердить создание таблицы|Ввести формулу в первый столбец|Проверить автозаполнение-->

5. Макрос для протягивания формулы одной клавишей (для продвинутых)

Если вам надоело повторять одни и те же действия, можно записать простой макрос, который будет протягивать формулу до конца данных по нажатию одной клавиши. Например, назначить это действие на Ctrl+Shift+F.

Код макроса (для копирования вниз):

Sub FillFormulaDown()

Dim rng As Range

Set rng = Selection

rng.AutoFill Destination:=rng.Resize( _

Cells(Rows.Count, rng.Column).End(xlUp).Row - rng.Row + 1, 1)

End Sub

Как настроить:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код выше в новый модуль.
  3. Назначьте макрос на горячую клавишу через Файл → Параметры → Настройка ленты → Сочетания клавиш.

⚠️ Внимание:

Макросы работают только в настольной версии Excel (не в онлайн-версии). Также убедитесь, что в настройках безопасности разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов).

Как протянуть формулу в обе стороны (вниз и вправо)

Используйте этот макрос:

Sub FillFormulaBoth()

Dim rng As Range

Set rng = Selection

' Вниз

rng.AutoFill Destination:=rng.Resize( _

Cells(Rows.Count, rng.Column).End(xlUp).Row - rng.Row + 1, 1)

' Вправо

rng.AutoFill Destination:=rng.Resize(1, _

Cells(rng.Row, Columns.Count).End(xlToLeft).Column - rng.Column + 1), Type:=xlFillDefault

End Sub

Этот код сначала протягивает формулу вниз до конца данных, а затем вправо до последнего заполненного столбца.

Типичные ошибки и как их избежать

Даже опытные пользователи иногда сталкиваются с проблемами при копировании формул. Вот самые распространённые ошибки и их решения:

🔸 Формула копируется не до конца данных, а до конца листа

  • 🔹 Причина: В диапазоне есть пустые строки или столбцы.
  • 🔹 Решение: Перед протягиванием удалите пустые строки или используйте умную таблицу (Ctrl+T).

🔸 Формула не обновляется при добавлении новых строк

  • 🔹 Причина: Вы не используете умную таблицу или абсолютные ссылки ($A$1).
  • 🔹 Решение: Преобразуйте диапазон в таблицу (Ctrl+T) или проверьте ссылки в формуле.

🔸 Вместо формулы копируется значение

  • 🔹 Причина: Включён режим Показать формулы (Ctrl+`) или ячейка отформатирована как текст.
  • 🔹 Решение: Отключите показ формул (Ctrl+`) или измените формат ячейки на Общий.

FAQ: Ответы на частые вопросы

Можно ли протянуть формулу до конца таблицы, если данные в соседнем столбце не сплошные?

Да, но нужно использовать умную таблицу (Ctrl+T) или макрос. Стандартное автозаполнение (Ctrl+D или двойной клик) остановится на первой пустой ячейке.

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

Скорее всего, в формуле используются абсолютные ссылки (например, $A$1). Замените их на относительные (A1) или смешанные ($A1 или A$1).

Как протянуть формулу в Google Таблицах?

В Google Sheets работают те же принципы:

  • 🔹 Двойной клик по маркеру заполнения.
  • 🔹 Горячие клавиши: Ctrl+D (вниз), Ctrl+R (вправо).
  • 🔹 Для автозаполнения до конца данных: Ctrl+Shift+↓Ctrl+D.

Можно ли протянуть формулу вверх?

Да! Выделите ячейку с формулой и все ячейки выше, затем нажмите Ctrl+Shift+↑, а потом Ctrl+D. Или используйте макрос:

Sub FillFormulaUp()

Dim rng As Range

Set rng = Selection

rng.AutoFill Destination:=Range(rng.Cells(1, 1), Cells(rng.Row, rng.Column).End(xlUp))

End Sub

Почему формула копируется некорректно при использовании ВПР или ИНДЕКС?

Проблема обычно в незафиксированных диапазонах. Например, в формуле =ВПР(A1;B:C;2;0) диапазон B:C должен быть абсолютным: =ВПР(A1;$B:$C;2;0). Иначе при копировании он сдвинется на C:D, D:E и т.д.