Копирование формул без сдвига ссылок
Предположим, что у нас есть вот такая несложная таблица, в которой подсчитываются суммы по каждому месяцу в двух городах, а затем итог переводится в евро по курсу из желтой ячейки J2. Проблема в том, что если скопировать диапазон D2:D8 с формулами куда-нибудь в другое место на лист, то Microsoft Excel автоматически скорректирует ссылки в этих формулах, сдвинув их на новое место и перестав считать:
Задача: скопировать диапазон с формулами так, чтобы формулы не изменились и остались теми же самыми, сохранив результаты расчета.
Способ 1. Абсолютные ссылки
Как можно заметить по предыдущей картинке, Excel сдвигает только относительные ссылки. Абсолютная (со знаками $) ссылка на желтую ячейку $J$2 не сместилась. Поэтому для точного копирования формул можно временно перевести все ссылки во всех формулах в абсолютные. Нужно будет выделить каждую формулу в строке формул и нажать клавишу F4:

При большом количестве ячеек этот вариант, понятное дело, отпадает — слишком трудоемко.
Способ 2. Временная деактивация формул
- Выделяем диапазон с формулами (в нашем примере D2:D8)
- Жмем Ctrl+H на клавиатуре или на вкладке Главная — Найти и выделить — Заменить (Home — Find&Select — Replace)


Способ 3. Копирование через Блокнот
Этот способ существенно быстрее и проще.
Нажмите сочетание клавиш Ctrl+Ё или кнопку Показать формулы на вкладке Формулы (Formulas — Show formulas) , чтобы включить режим проверки формул — в ячейках вместо результатов начнут отображаться формулы, по которым они посчитаны:

Скопируйте наш диапазон D2:D8 и вставьте его в стандартный Блокнот:

Теперь выделите все вставленное (Ctrl+A), скопируйте в буфер еще раз (Ctrl+C) и вставьте на лист в нужное вам место:

Осталось только отжать кнопку Показать формулы (Show Formulas) , чтобы вернуть Excel в обычный режим.
Примечание: этот способ иногда дает сбой на сложных таблицах с объединенными ячейками, но в подавляющем большинстве случаев — работает отлично.
Способ 4. Макрос
Если подобное копирование формул без сдвига ссылок вам приходится делать часто, то имеет смысл использовать для этого макрос. Нажмите сочетание клавиш Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer) , вставьте новый модуль через меню Insert — Module и скопируйте туда текст вот такого макроса:
Sub Copy_Formulas() Dim copyRange As Range, pasteRange As Range On Error Resume Next Set copyRange = Application.InputBox("Выделите ячейки с формулами, которые надо скопировать.", _ "Точное копирование формул", Default:=Selection.Address, Type:=8) If copyRange Is Nothing Then Exit Sub Set pasteRange = Application.InputBox("Теперь выделите диапазон вставки." & vbCrLf & vbCrLf & _ "Диапазон должен быть равен по размеру исходному " & vbCrLf & _ "диапазону копируемых ячеек.", "Точное копирование формул", _ Default:=Selection.Address, Type:=8) If pasteRange.Cells.Count <> copyRange.Cells.Count Then MsgBox "Диапазоны копирования и вставки разного размера!", vbExclamation, "Ошибка копирования" Exit Sub End If If pasteRange Is Nothing Then Exit Sub Else pasteRange.Formula = copyRange.Formula End If End Sub
Для запуска макроса можно воспользоваться кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. После запуска макрос попросит вас выделить диапазон с исходными формулами и диапазон вставки и произведет точное копирование формул автоматически:

Ссылки по теме
- Удобный просмотр формул и результатов одновременно
- Зачем нужен стиль ссылок R1C1 в формулах Excel
- Как быстро найти все ячейки с формулами
- Инструмент для точного копирования формул из надстройки PLEX
Excel works!

Простота этого вопроса на самом деле обманчива. Есть сразу несколько способов скопировать формулу в Excel, но есть и подводные камни, которые могут внести путаницу в ваши расчеты. По традиции, делюсь опытом внутри статьи.
Рассмотрим на примерах популярные методы копирования формул, их плюсы и минусы.
Если вам необходимо ссылаться на одну ячейку и она не должна перемещаться при копировании формул (чтобы адреса ячеек не менялись), прочитайте статью про абсолютные и относительные ссылки.
У нас есть список объектов, с определенными показателями по каждому. Нужно присвоить статус формулой в отдельном столбце.

Самый популярный способ копировать. Автозаполнение
Запишем формулу в ячейку C2. Описание функции ЕСЛИ можно прочитать здесь.

Понятно, что для каждого филиала писать отдельную формулу мы не будем. Как быстро продлить формулу?
Если навести на границу ячейки в правый нижний угол, появится крест. Если сделать двойной щелчок, то формулы автоматически заполнятся до конца диапазона (до строки 12). Подробнее об этом читаем здесь .
Важное замечание. Такой способ работает только если в соседнем столбце, слева или справа, данные не прерываются. Т.е. если в строке 9 не будет данных, то диапазон заполнится только до 8 строки. Если у вас огромная таблица, нужно быть аккуратным и проверять автозаполнение!
Как скопировать формулу в Excel? Перетаскиванием или растаскиванием
Когда появился крестик (см. предыдущий пункт), вы можете потащить за него в любую сторону — формула будет копироваться. Применять это удобно, если вам не нужно копировать формулу до конца диапазона, а только на несколько ячеек или вбок.
Еще один интересный способ — так называемый, метод перетаскивания данных. Если вам нужно скопировать формулы из одной ячейки в другую — выделите ячейку, зажмите клавишу Ctrl — наведите на границу выделенной ячейки курсор (появиться маленький крестик) и зажмите левую кнопку мыши — теперь потяните в любую сторону, до нужной вам ячейки. Данные скопируются! Если в ячейке были формулы — они перенесутся.
Копирование формулы простой вставкой и специальной вставкой
Конечно, никто не отменял копирование данных стандартными способами:
- Выбрали данные — Правой кнопкой мыши — Копировать. Выбрали место для копирования — Правой кнопкой мыши — Вставить
- Выбрали данные — Ctrl + C . Выбрали место для копирования — Ctrl + V.
Но при таком копировании переносится и оформление ячеек — цвет заливки, шрифт и т.д. Если вам нужно перенести в другую ячейку только формулу, воспользуйтесь специальной вставкой .
Выделите данные Копировать — Выделите место куда копировать — кликаем правой кнопкой мыши — в открывшемся меню выбираем Специальная вставка — в окне ставим галочку «формулы» (показано на рисунке в начале статьи).
Копирование формул из другой книги
Нужно быть внимательным при копировании формул из другой книги, ведь при таком копировании в формулу добавляется и имя книги, на которую вы ссылаетесь.
![]()
В данном случае Копирование формул.xlsx — название файла, квадратные скобки отделяют его от других частей ссылки. Чтобы удалить имя файла из формулы (т.е. сделать формулы только для этой книги), воспользуйтесь возможностью Найти и Заменить . Обращаю внимание, что заменять нужно именно фразу [Копирование формул.xlsx]
Не забудьте также поменять название листа, если это необходимо.
Как скопировать формулы, как текст
Есть один интересный способ, как скопировать формулу в Excel как текст. Замените = в формулах на другой символ, например на /, формулы превратятся в обычный текст. Опять же это можно сделать инструментом Найти и Заменить .
Получится вот так:

Теперь данные из столбца C можно скопировать в любую книгу или лист, после чего заменить / обратно на =. Формулы перенесены!
Кстати, чтобы посмотреть формулы записанные в ячейках, есть специальная функция — просмотр формул. Зайдите в меню Формулы на ленте инструментов — раздел Зависимости формул — кнопка Показать формулы.

Есть вопрос — напишите комментарий! 😉
Похожие статьи
- 21.05.2017Рассчитать модуль в Excel, функция ABS и ее применениеPosted in Формулы, Мат. функции
- 04.09.2016Индекс и Поискпоз. Левый ВПР. Так удобнее!Posted in Формулы
- 13.11.2015Формула массива Excel. Как пользоваться?Posted in Формулы
- 10.06.2017Как посчитать количество пустых ячеек Excel? Функция СЧИТАТЬПУСТОТЫPosted in Формулы
- 20.11.2015Исправляем ошибки в Excel при расчетахPosted in Формулы
- 01.10.2016Выпадающий список по значениюPosted in Формулы, Работа с ячейками
- 25.11.2015Сумма по нескольким листам ExcelPosted in Формулы
- 14.03.2015Как столбцы сделать строками? Транспонирование в ExcelPosted in Excel, Формулы
Перемещение и копирование формулы
Важно помнить о возможностях изменения относительной ссылки на ячейку при переходе или копировании формулы.
- Перемещение формулы При этом ссылки на ячейки в формуле не изменяются независимо от типа ссылки на ячейку.
- Копирование формулы: При копировании формулы изменяются относительные ссылки на ячейки.
Перемещение формулы
- Выделите ячейку с формулой, которую необходимо переместить.
- В группе Буфер обмена на вкладке Главная нажмите кнопку Вырезать. Формулы можно скопировать и путем перетаскивания границы выделенной ячейки в левую верхнюю ячейку области вставки. При этом будут заменяться все существующие данные.
- Выполните одно из указанных ниже действий.
- Чтобы вировать формулу иформатирование: в группе Буфер обмена на вкладке Главная нажмите кнопку В виде вкладки.
- Чтобы вировать только формулу:в группе Буфер обмена на вкладке Главная нажмите кнопку В paste(Главная), выберите специальная ветвь ищелкните Формулы.
Копирование формулы
- Вы выберите ячейку, содержащую формулу, которую нужно скопировать.
- В группе Буфер обмена на вкладке Главная нажмите кнопку Копировать.
- Выполните одно из указанных ниже действий.
- Чтобы вировать формулу и любое форматирование, в группе Буфер обмена на вкладке Главная нажмите кнопку В виде вкладки.
- Чтобы вировать только формулу, в группе Буфер обмена на вкладке Главная нажмите кнопку Вировать ,выберите специальная ветвь ,а затем щелкните Формулы.
Примечание: В нее можно вклеить только результаты формулы. В группе Буфер обмена на вкладке Главная нажмите кнопку Вировать, выберите специальная ветвь ,а затем щелкните Значения.
- Выделите ячейку с формулой.
- В строке формул строка формул выделите ссылку, которую нужно изменить.
- Для переключения между сочетаниями нажмите F4. В таблице подводится информация об обновлении типа ссылки при копировании формулы, содержащей ссылку, на две ячейки вниз и на две ячейки вправо.
Копируемая формула
Первоначальная ссылка
Новая ссылка
$A$1 (абсолютный столбец и абсолютная строка)
A$1 (относительный столбец и абсолютная строка)
$A1 (абсолютный столбец и относительная строка)
A1 (относительный столбец и относительная строка)
Примечание: Формулы также можно копировать в смежные ячейки с помощью маркер заполнения . После проверки на то, что ссылки на ячейки в формуле дают нужный результат в шаге 4, вы выберите ячейку со скопированной формулой и перетащите его по диапазону, который вы хотите заполнить.
Перемещение формул очень похоже на перемещение данных в ячейках. Единственное, что нужно знать, — ссылки на ячейки, используемые в формуле, остаются нужными после перемещения.
- Вы выберите ячейку с формулой, которую вы хотите переместить.
- Щелкните Главная >вырезать (или нажмите CTRL+X).

- Выйдите из ячейки, в которая должна вться формула, и нажмите кнопку Вировать (или нажмите CTRL+V).

- Убедитесь, что ссылки на ячейки остаются нужными.

Совет: Вы также можете щелкнуть ячейки правой кнопкой мыши, чтобы вырезать и врезать формулу.
Совет: Формулу также можно скопировать и вкопировать в другую ячейку или на другой таблицу.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Как скопировать формулу в экселе на весь столбец
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
