Как скопировать ячейки в excel с сохранением формул
Перейти к содержимому

Как скопировать ячейки в excel с сохранением формул

  • автор:

Как скопировать ячейки в excel с сохранением формул

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Копирование формул без сдвига ссылок

Предположим, что у нас есть вот такая несложная таблица, в которой подсчитываются суммы по каждому месяцу в двух городах, а затем итог переводится в евро по курсу из желтой ячейки J2. exact-formulas-copy1.pngПроблема в том, что если скопировать диапазон D2:D8 с формулами куда-нибудь в другое место на лист, то Microsoft Excel автоматически скорректирует ссылки в этих формулах, сдвинув их на новое место и перестав считать: exact-formulas-copy2.pngЗадача: скопировать диапазон с формулами так, чтобы формулы не изменились и остались теми же самыми, сохранив результаты расчета.

Способ 1. Абсолютные ссылки

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

exact-formulas-copy9.png

При большом количестве ячеек этот вариант, понятное дело, отпадает — слишком трудоемко.

Способ 2. Временная деактивация формул

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

exact-formulas-copy3.png

exact-formulas-copy4.png

Способ 3. Копирование через Блокнот

Этот способ существенно быстрее и проще.

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

exact-formulas-copy5.png

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

exact-formulas-copy6.png

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

exact-formulas-copy7.png

Осталось только отжать кнопку Показать формулы (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. После запуска макрос попросит вас выделить диапазон с исходными формулами и диапазон вставки и произведет точное копирование формул автоматически:

exact-formulas-copy8.png

Ссылки по теме

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

покупка

Как скопировать формулу ячейки только без форматирования в Excel?

Например, у меня есть два диапазона данных, и в одном из диапазонов данных были выполнены некоторые вычисления, и теперь мне нужно выполнить те же вычисления в другом диапазоне. Но я не хочу копировать форматирование диапазона 1 в диапазон 2, здесь в этом руководстве рассказывается о приемах решения этой проблемы в Excel.

документ копировать только формулу 1

Копировать формулу ячейки только без значений с помощью специальной вставки

Если вы напрямую скопируете и вставите ячейки формулы, форматирование ячеек будет вставлено вместе с формулой. А с помощью специальной вставки в Excel вы можете выбрать только копирование функции вставки формулы.

Выделите ячейки формулы, которые хотите скопировать, и нажмите Ctrl + C чтобы скопировать их, затем выберите ячейки, которые вы хотите вставить, и щелкните правой кнопкой мыши, чтобы отобразить контекстное меню, щелкните Специальная вставка > Формулы в Excel 2010 и 2013. Смотрите снимок экрана:

документ копировать только формулу 2

Внимание: В Excel 2007 после нажатия Вставить Special из контекстного меню открывается Специальная вставка диалоговое окно. В диалоговом окне отметьте Формулыи нажмите OK.

документ копировать только формулу 3

После этого вы увидите, что копируются только формулы.

Внимание: Ссылки на ячейки скопированных формул будут изменяться в зависимости от адресов ячеек назначения.

документ копировать только формулу 4

Копировать формулу ячейки только без значений путем копирования диапазонов

Есть мощная функция копирования — Копировать диапазоны в удобном инструменте Kutools for Excel. Используя диапазоны копирования, вы можете копировать только формат ячейки, формулу, значение, комментарии и т. Д.

Если вы не установили Kutools for Excel, просто получите его бесплатная установка сейчас. И после установки Kutools for Excel выполните следующие действия:

1. Выберите ячейки, которые хотите скопировать, и нажмите Кутулс > Копировать диапазоны. Смотрите скриншот:

kutools копировать диапазоны 1

2. в Копировать несколько диапазонов диалог, проверьте Формулы только вариант, затем нажмите Ok и выбрать ячейки для вставки формул. Смотрите скриншоты:

документ копировать только формулу 6

документ копировать только формулу 7

3. Нажмите OK. Теперь в ячейки вставляются формулы без форматирования. Смотрите скриншот:

документ копировать только формулу 8

Примечание: Ссылки на ячейки скопированных формул изменятся в зависимости от адресов ячеек назначения.

Копировать формулу ячейки без изменения ссылки на ячейку с помощью Exact Copy

Помимо копирования только формул, иногда может потребоваться скопировать формулы ячеек и сохранить ссылки на ячейки. Например, вы копируете формулу = MAX (B2: B14) ячейки Sheet1! B16 в ячейку Sheet2! D1, формула также = MAX (B2: B14).

Здесь, в Kutools for Excel, Точная копия Утилита может оказать вам услугу.

1. Выберите ячейки формулы, которые необходимо скопировать, и нажмите Кутулс > Точная копия. Смотрите скриншот:

документ копировать только формулу 5

2. Затем в Точная копия формулы диалог, снимите флажок Копировать форматированиеи нажмите Ok для выделения ячеек нужна формула вставки. Смотрите скриншоты:

документ копировать только формулу 10
документ копировать только формулу 11

3. Нажмите OK. Теперь формулы вставлены с сохранением ссылки на ячейку. Смотрите скриншот:

документ копировать только формулу 12

Вы можете бесплатно использовать более 100 полезных утилит в течение 60 дней, почему бы не попробовать? Бесплатная установка Kutools for Excel прямо сейчас!

Перемещение и копирование формулы

Важно помнить о возможностях изменения относительной ссылки на ячейку при переходе или копировании формулы.

  • Перемещение формулы При этом ссылки на ячейки в формуле не изменяются независимо от типа ссылки на ячейку.
  • Копирование формулы: При копировании формулы изменяются относительные ссылки на ячейки.

Перемещение формулы

  1. Выделите ячейку с формулой, которую необходимо переместить.
  2. В группе Буфер обмена на вкладке Главная нажмите кнопку Вырезать. Формулы можно скопировать и путем перетаскивания границы выделенной ячейки в левую верхнюю ячейку области вставки. При этом будут заменяться все существующие данные.
  3. Выполните одно из указанных ниже действий.
    • Чтобы вировать формулу иформатирование: в группе Буфер обмена на вкладке Главная нажмите кнопку В виде вкладки.
    • Чтобы вировать только формулу:в группе Буфер обмена на вкладке Главная нажмите кнопку В paste(Главная), выберите специальная ветвь ищелкните Формулы.

Копирование формулы

  1. Вы выберите ячейку, содержащую формулу, которую нужно скопировать.
  2. В группе Буфер обмена на вкладке Главная нажмите кнопку Копировать.
  3. Выполните одно из указанных ниже действий.
  4. Чтобы вировать формулу и любое форматирование, в группе Буфер обмена на вкладке Главная нажмите кнопку В виде вкладки.
  5. Чтобы вировать только формулу, в группе Буфер обмена на вкладке Главная нажмите кнопку Вировать ,выберите специальная ветвь ,а затем щелкните Формулы.

Примечание: В нее можно вклеить только результаты формулы. В группе Буфер обмена на вкладке Главная нажмите кнопку Вировать, выберите специальная ветвь ,а затем щелкните Значения.

  1. Выделите ячейку с формулой.
  2. В строке формул строка формул

Копируемая формула

Первоначальная ссылка

Новая ссылка

$A$1 (абсолютный столбец и абсолютная строка)

A$1 (относительный столбец и абсолютная строка)

$A1 (абсолютный столбец и относительная строка)

A1 (относительный столбец и относительная строка)

Примечание: Формулы также можно копировать в смежные ячейки с помощью маркер заполнения

. После проверки на то, что ссылки на ячейки в формуле дают нужный результат в шаге 4, вы выберите ячейку со скопированной формулой и перетащите его по диапазону, который вы хотите заполнить.

Перемещение формул очень похоже на перемещение данных в ячейках. Единственное, что нужно знать, — ссылки на ячейки, используемые в формуле, остаются нужными после перемещения.

Команда

  1. Вы выберите ячейку с формулой, которую вы хотите переместить.
  2. Щелкните Главная >вырезать (или нажмите CTRL+X).

Команда

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

Щелкните правой кнопкой мыши, чтобы увидеть команды

Совет: Вы также можете щелкнуть ячейки правой кнопкой мыши, чтобы вырезать и врезать формулу.

Совет: Формулу также можно скопировать и вкопировать в другую ячейку или на другой таблицу.

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *