Копирование формул без сдвига ссылок
Проблема
Предположим, что у нас есть вот такая несложная таблица, в которой подсчитываются суммы по каждому месяцу в двух городах, а затем итог переводится в евро по курсу из желтой ячейки J2.
Проблема в том, что если скопировать диапазон D2:D8 с формулами куда-нибудь в другое место на лист, то Microsoft Excel автоматически скорректирует ссылки в этих формулах, сдвинув их на новое место и перестав считать:
Задача: скопировать диапазон с формулами так, чтобы формулы не изменились и остались теми же самыми, сохранив результаты расчета.
Способ 1. Абсолютные ссылки
Как можно заметить по предыдущей картинке, Excel сдвигает только относительные ссылки. Абсолютная (со знаками $) ссылка на желтую ячейку $J$2 не сместилась. Поэтому для точного копирования формул можно временно перевести все ссылки во всех формулах в абсолютные. Нужно будет выделить каждую формулу в строке формул и нажать клавишу F4:
При большом количестве ячеек этот вариант, понятное дело, отпадает — слишком трудоемко.
Способ 2. Временная деактивация формул
Чтобы формулы при копировании не менялись, надо (временно) сделать так, чтобы Excel перестал их рассматривать как формулы. Это можно сделать, заменив на время копирования знак «равно» (=) на любой другой символ, не встречающийся обычно в формулах, например на «решетку» (#) или на пару амперсандов (&&). Для этого:
- Выделяем диапазон с формулами (в нашем примере D2:D8)
- Жмем Ctrl+H на клавиатуре или на вкладке Главная — Найти и выделить — Заменить (Home — Find&Select — Replace)
- В появившемся диалоговом окне вводим что ищем и на что заменяем и в Параметрах (Options) не забываем уточнить Область поиска — Формулы. Жмем Заменить все (Replace all).
- Копируем получившийся диапазон с деактивированными формулами в нужное место:
- Заменяем # на = обратно с помощью того же окна, возвращая функциональность формулам.
Способ 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 при копировании формулы не менять номер ячейки
- Копирование формул без сдвига ссылок
- Способ 1. Абсолютные ссылки
- Способ 2. Временная деактивация формул
- Способ 3. Копирование через Блокнот
- Способ 4. Макрос
- Как закрепить ячейку в Excel с помощью знака доллара
- Полное закрепление
- Фиксация по столбцу и строке
- Несколько особенностей закрепления
- Как зафиксировать ячейку в формуле Excel, чтобы была стабильность
- Как закрепить ячейку
- Особенности отмены
- Для чего это нужно
- Возможные проблемы и пути решения
- Копирование формул без сдвига ссылок
- Проблема
- Способ 1. Абсолютные ссылки
- Способ 2. Временная деактивация формул
- Способ 3. Копирование через Блокнот
- Способ 4. Макрос
Как в excel при копировании формулы не менять номер ячейки
Копирование формул без сдвига ссылок
Предположим, что у нас есть вот такая несложная таблица, в которой подсчитываются суммы по каждому месяцу в двух городах, а затем итог переводится в евро по курсу из желтой ячейки J2.
Проблема в том, что если скопировать диапазон D2:D8 с формулами куда-нибудь в другое место на лист, то Microsoft Excel автоматически скорректирует ссылки в этих формулах, сдвинув их на новое место и перестав считать:
Задача: скопировать диапазон с формулами так, чтобы формулы не изменились и остались теми же самыми, сохранив результаты расчета.
Способ 1. Абсолютные ссылки
Способ 2. Временная деактивация формул
Чтобы формулы при копировании не менялись, надо (временно) сделать так, чтобы Excel перестал их рассматривать как формулы. Это можно сделать, заменив на время копирования знак «равно» (=) на любой другой символ, не встречающийся обычно в формулах, например на «решетку» (#) или на пару амперсандов (&&). Для этого:
- Выделяем диапазон с формулами (в нашем примере 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 и скопируйте туда текст вот такого макроса:
Для запуска макроса можно воспользоваться кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. После запуска макрос попросит вас выделить диапазон с исходными формулами и диапазон вставки и произведет точное копирование формул автоматически:
Как закрепить ячейку в Excel с помощью знака доллара
Рассказываем, как закрепить ячейку в Excel, чтобы ссылка на нее оставалась постоянной или менялась только в одном направлении.
При составлении формул в текстовом редакторе Эксель пользователь может столкнуться с необходимостью их копирования вдоль строки или столбца таблицы. Иногда математическое или текстовое выражение приходится копировать в прямоугольную область. Но если сделать это простым перетаскиванием, можно заметить, что адреса в формулах, по умолчанию установленные как относительные, будут меняться.
Чтобы этого не произошло, надо закрепить ячейку в Эксель — добиться этого поможет значок доллара, установленный в нужном месте.
Полное закрепление
Самый простоя способ, как закрепить ячейку при протягивании формулы — полностью зафиксировать ее, не давая изменяться адресу ни в одном из направлений. То есть, выбрав A1, можно рассчитывать, что этот адрес останется без изменений при любом копировании.
Такую формулу называют абсолютной — для ее получения следует поставить значки доллара перед каждой частью ссылки. То есть для A1 это будет $A$1. В ячейку можно записать, например, курс валют, который будет общим для всех расчетов. Или размеры МРОТ, расход бензина, процент начислений и другие коэффициенты.
Без знаков $ при копировании ссылка на A1 будет изменяться. Так, при копировании формулы «= A1/30» из ячейки E5 в E6 результатом станет «=A2/30». А если скопировать формулу из E5 в D5, данные для расчетов будут браться уже не из A1, а из B1. Зафиксировав ячейку в формуле Excel, пользователь делает адрес $A$1 постоянным при копировании по вертикали или горизонтали.
Фиксация по столбцу и строке
Если закрепить ячейку в формуле Excel нужно так, чтобы без изменений при копировании оставался только столбец, знак $ необходимо поставить в самом начале ссылки. Например, $A1. Вероятность сдвига в формуле сохранится только в том случае, если копирование происходит вдоль другого столбца.
Так, выражение «=$A1/E4» при копировании из E5 в D5 превратится в «$A1/D4», что позволит посчитать разные значения только с одним неизменным коэффициентом (курсом валют, процентом ставки). Но если пользователь копирует формулу вдоль столбца, то оставаться без изменений будет только первая часть ссылки: «А» — «A1», «A2», «A3» и т. д.
Еще один способ, как зафиксировать ячейку в Excel, предполагает фиксацию только по строке. В этом случае знак $ в ссылке ставится перед вторым идентификатором — например, A$1. В этом случае пользователь может протянуть формулу, копируя ее по прямоугольной области — но изменяться будет только столбец. Так можно сделать, установив в одной из строк проценты, которые будут разные для каждой категории. При копировании такая процентная ставка изменяется по столбцам.
Несколько особенностей закрепления
Закрепляя адрес ячейки в Эксель, пользователь экономит время на прописывание отдельных одинаковых формул. При этом снижается вероятность ошибки, даже если таких скопированных выражений в таблице будет всего 5-10. Когда количество формул увеличивается до нескольких десятков, без использования знака $ в адресе просто не обойтись.
Чтобы упростить прописывание доллара в ссылке и не переключаться каждый раз на другую раскладку клавиатуры (которых может быть и 2, и 3, и 4), можно выделить ту часть адреса, перед которой он ставится, и нажать F4. Если выделен весь адрес, при первом нажатии на функциональную клавишу $ ставится перед строкой и столбцом. При втором — закрепляется только столбец. При следующем — только строка. Четвертое нажатие возвращает нормальное написание адреса.
Как зафиксировать ячейку в формуле Excel, чтобы была стабильность
Распространенный вопрос пользователей Excel — как зафиксировать ячейку в формуле, чтобы она оставалась на одном месте в течение всех дальнейших расчетов. Жмите в нужном месте, кликните по строке формул и жмите F4. Таким способом ссылка получает статус «абсолютная», что видно по символу доллара ($). При двойном / тройном нажатии можно зафиксировать строку / столбец. Ниже рассмотрим, какие способы закрепления существуют, разберем, для чего это необходимо, и какие трудности возникают
Как закрепить ячейку
В вопросе, как зафиксировать ячейку в Экселе в формуле, ключевое значение отдается знаку $. Этот символ сбивает с толку многих пользователей, но по факту он свидетельствует о закреплении данных. Также стоит отметить, что ссылки бывают трех видов, относительная, абсолютная и смешанная. Нас интересует второй вариант, ведь он подразумевает наличие фиксированного адреса для столбца / колонки.
Существует четыре метода, как закрепить ячейку в формуле Эксель. Они очень похожи по исполнению, но имеют ряд особенностей.
Способ №1 (сохранение адреса, ряда и колонки):
- Найдите нужную ячейку с формулой в Excel и станьте на нее курсором.
- Кликните по строке в секции, которую нужно зафиксировать.
- Жмите на F4.
Это наиболее простой способ, как закрепить формулу в Excel. Если все сделано правильно, ссылка ячейки меняется на абсолютную. Распознать правильность сделанной работы можно по появлению значка доллара ($). К примеру, если нажать на А2, а потом на кнопку F4, ссылка получает вид $A$2. Это означает, что она фиксирована, и никуда больше не сместится.
Перед тем как закрепить ячейку в формуле Excel, важно разобраться с расположением знака доллара перед адресом. Это можно интерпретировать следующим образом:
- Размещение перед буквой свидетельствует о том, что ссылка на столбец закрепляется. При этом не имеет значения, в какое место была передвинута формула.
- При размещении значка доллара до цифры можно говорить о фиксации только строки.
- Чтобы в Excel не менять ячейку в формуле, воспользуйтесь почти таким же способом, как рассмотрен выше.
- Выделите нужную секцию.
- Кликните дважды F4. К примеру, если у вас была А2, она превратится в А$2.
Иными словами, рассмотренный выше способ позволяет зафиксировать в Excel строку. Что касается буквы столбца, она продолжает меняться в обычном режиме.
Используйте такой метод в Эксель, чтобы не менялось значение в таблице, когда необходимо в нижней ячейке вывести данные из второй секции сверху. Таким способом можно избежать многократного создания формулы, ведь удается только раз зафиксировать строку и позволить меняться столбцу.
- .Перед тем как зафиксировать формулу в Excel, выполните первые два пункта первой инструкции (то есть станьте курсором в необходимое место).
- Жмите кнопку F4 трижды.
Таким способом удается в Экселе зафиксировать формулу, но только для ссылки на колонку. При этом запись будет иметь следующий вид $A2. Следовательно номер строчки будет меняться, а вот буква столбца сохраняется в течение всей работы остается неизменной.
Особенности отмены
Бывают ситуации, когда у вас не меняющаяся ячейка в формуле Excel, но необходимо вернуть ее прежний формат. Для изменения абсолютной ссылки на относительную жмите на F4 то число раз, которое требуется для удаления символа доллара в ссылке. Как только этот значок полностью исчезает, при копировании / смещении формулы меняется и адрес столбца / строки.
Для чего это нужно
Во многих случаях формула создается только для одной клетки таблицы Excel. В таком случае не нужно думать, как зафиксировать конкретную ячейку. По-иному обстоит ситуация, когда данные необходимо копировать / перемещать по таблице. В этом случае и возникает вопрос, как сделать в Эксель, чтобы ячейка не менялась в формуле. Эта опция необходима, чтобы не сломать расчеты и зафиксировать данные без дальнейшего изменения адресов.
Возможные проблемы и пути решения
Зная, как в Excel не изменять ячейку в формуле, можно упростить сложные расчеты и избежать ошибок. При этом могут возникать разные сложности, которые не дают сделать работу:
- Не удается зафиксировать данные. Убедитесь, что вы выполняете работу с учетом приведенной выше инструкции. Попробуйте перезапустить приложение, чтобы исключить временные ошибки. Также может потребоваться перезапуск самого ПК / ноутбука.
- Позиция абсолютной ссылки изменилась во процессе работы. Многие считают, что, если зафиксировать ячейку, ее позиция не изменится. Но это не так. На практике абсолютная ссылка в Excel меняется, когда пользователь добавляет / удаляет строки / столбца на листе. В результате корректируется и расположение фиксированной ячейки. К примеру, если вставить строку вверху таблиц, тогда адрес сместится вниз во всех формулах, с которых идет ссылка. Этот момент необходимо учесть при внесении изменений или вообще отказаться от корректировок.
- При нажатии F4 ничего не происходит. Убедитесь, что функциональная клавиша работает. Иногда для ее активации необходимо нажать комбинацию Fn+F4. Это зависит от типа используемой клавиатуры.
Теперь вы знаете, как в Excel зафиксировать секцию таблицы, чтобы избежать постоянного перемещения данных. Для этого используйте ручной метод и функциональную кнопку F4. Контролировать правильность работы можно по положению символа доллара, который появляется перед цифрой или буквой.
В комментариях расскажите, пригодилась ли вам предложенная инструкция, и какие еще методы можно использовать для решения поставленной задачи.
Источник
Копирование формул без сдвига ссылок
Проблема
Предположим, что у нас есть вот такая несложная таблица, в которой подсчитываются суммы по каждому месяцу в двух городах, а затем итог переводится в евро по курсу из желтой ячейки J2.
Проблема в том, что если скопировать диапазон D2:D8 с формулами куда-нибудь в другое место на лист, то Microsoft Excel автоматически скорректирует ссылки в этих формулах, сдвинув их на новое место и перестав считать:
Задача: скопировать диапазон с формулами так, чтобы формулы не изменились и остались теми же самыми, сохранив результаты расчета.
Способ 1. Абсолютные ссылки
Способ 2. Временная деактивация формул
Чтобы формулы при копировании не менялись, надо (временно) сделать так, чтобы Excel перестал их рассматривать как формулы. Это можно сделать, заменив на время копирования знак «равно» (=) на любой другой символ, не встречающийся обычно в формулах, например на «решетку» (#) или на пару амперсандов (&&). Для этого:
- Выделяем диапазон с формулами (в нашем примере 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 и скопируйте туда текст вот такого макроса:
Для запуска макроса можно воспользоваться кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. После запуска макрос попросит вас выделить диапазон с исходными формулами и диапазон вставки и произведет точное копирование формул автоматически:
Источник
В Excel существует два типа ссылок: абсолютные и относительные. Эти ссылки ведут себя по-разному при копировании и заполнении ячеек. Относительные ссылки изменяются когда вы копируете формулу из одной ячейки в другую, а абсолютные ссылки, напротив, не меняются вне зависимости от того, куда бы вы их ни скопировали.
Содержание
- Относительные ссылки в Excel
- Как создать и скопировать формулу с относительными ссылками
- Абсолютные ссылки в Excel
- Как создать и скопировать формулу с абсолютными ссылками
- Как создать ссылки на другие листы в Excel
Относительные ссылки в Excel
По умолчанию, все ссылки в Excel относительные. Когда вы копируете ссылку из одной ячейки в другую, она автоматически изменяется относительно позиции столбца и строки новой ячейки к ячейке, из которой вы скопировали ссылку. Например, если вы скопируете формулу =A1+B1 из строки 1 в строку 2, то формула изменится на =A2+B2. Относительные ссылки полезны в том случае, когда нам нужно повторить один и тот же расчет на несколько столбцов и строк.
Как создать и скопировать формулу с относительными ссылками
На примере ниже мы хотим создать формулу, которая поможет в калькуляции итогового счета за заказ в ресторане. Мы хотим в колонке «Итог» рассчитать сумму к оплате за каждое блюдо, в зависимости от его стоимости за единицу и количества. Для этого, мы создадим одну формулу с относительной ссылкой и скопируем ее на все строки таблицы. Для этого проделаем следующие шаги:
- Выделим первую ячейку, в столбце «Итог» в которой будет создана наша формула:
- Вставим в ячейку D2 формулу, которая перемножает цену за блюдо и количество: =B2*C2.
- Нажмите клавишу «Enter» на клавиатуре. Формула произведет расчет и его результат вы увидите в ячейке D2.
- Зажав левую клавишу мыши, протяните ячейку D2 за правый нижний угол по всему диапазону ячеек D3:D12. Таким образом, вы скопируете формулу из ячейки D2 и перенесете ее на каждую ячейку диапазона.
- Для того, чтобы удостовериться, что формулы скопированы правильно, дважды кликните на любой ячейке диапазона, в котором была протянута формула и вы увидите формулу перемножения ячеек.
Абсолютные ссылки в Excel
Часто, при расчетах нам нужно, чтобы при копировании формул, ссылки на ячейки не изменялись. В отличие от относительных ссылок, абсолютные позволяют зафиксировать при расчетах ячейки в определенных строках и столбцах, что делает процесс вычисления в таблицах более простым и эффективным.
Для создания абсолютной ссылки используется знак доллара «$». С его помощью вы можете зафиксировать от изменений столбец, строку или всех вместе:
-
$A$2 — столбец и строка не изменяются при копировании формулы;
-
A$2 — при копировании формулы не меняется только строка;
-
$A2 — столбец не изменяется при копировании формулы.
Больше лайфхаков в нашем Telegram Подписаться
Используя абсолютные ссылки в Excel, вы можете быстро изменять настройки фиксации столбца и строки, с помощью клавиши F4. Для этого нужно дважды кликнуть на ячейку с формулой, затем, левой клавишей мыши поставить курсор на значение ячейки и с помощью клавиши F4 настроить фиксацию строки и столбца.
Как создать и скопировать формулу с абсолютными ссылками
В нашем примере мы будем использовать в ячейке E1 — 18% как значение НДС для расчета налога на товары в колонке D. Для правильного расчета нам потребуется использовать абсолютную ссылку $E$1 в нашей формуле, так как нам важно, чтобы стоимость каждого товара перемножалась на ставку НДС, указанную в ячейке E1. Ниже рассмотрим как мы, будем это делать:
- Выделим ячейку, в которую мы хотим вставить формулу для расчета налога. В нашем примере это ячейка D3.
- Напишем формулу, рассчитывающую сумму налога для каждого товара, с учетом его стоимости и количества =(B3*C3)*$E$1.
- Протянем полученную формулу на все ячейки в диапазоне D4:D13.
- Дважды кликните на любой ячейке из диапазона D4:D13 и убедитесь, что формула сработала корректно. Важно убедиться, что вы правильно указали ссылку на ячейку $E$1 в абсолютном формате.
Как создать ссылки на другие листы в Excel
Зачастую, нам в расчетах требуется задействовать данные с разных листов файла Excel. Для этого, при создании ссылки на ячейку из другого листа нужно использовать название листа и восклицательного знака на конце (!). Например, если вы хотите создать ссылку на ячейку A1 на листе Sheet1, то ссылка на эту ячейку будет выглядеть так:
=Sheet1!A1
ВАЖНО! Если в название листа, на ячейку с которого вы ссылаетесь есть пробелы, то название этого листа в ссылке должно быть заключено в кавычки (‘ ‘). Например, если название вашего листа Бюджет Финал, то ссылка на ячейку A1 будет выглядеть так:
‘Бюджет Финал’!A1
На примере ниже, мы хотим добавить в таблицу ссылку на ячейку, в которой уже произведены вычисления между двумя листами Excel файла. Это позволит нам использовать одно и то же значение на двух разных листах без перезаписи формулы или копирования данных между рабочими листами. Для этого проделаем следующие шаги:
- Выберем ячейку, на которую мы хотим сослаться и обратим внимание на название листа. В нашем случае это ячейка E14 на вкладке «Меню»:
- Перейдем на лист и выберем ячейку, в которой мы хотим поставить ссылку. В нашем примере это ячейка B2.
- В ячейке B2 введем формулу, ссылающуюся на ячейку E14 с листа «Меню»: =Меню!E14
- Нажмем клавишу «Enter» на клавиатуре и увидим в ячейке B2 значение ячейки E14 с листа «Меню».
Если, в дальнейшем, вы переименуете лист, на который вы ссылались, то система автоматически обновит формулу.
This macro does the whole job.
Sub Absolute_Reference_Copy_Paste()
'By changing "=" in formulas to "#" the content is no longer seen as a formula.
' C+S+e (my keyboard shortcut)
Dim Dummy As Range
Dim FirstSelection As Range
Dim SecondSelection As Range
Dim SheetFirst As Worksheet
Dim SheetSecond As Worksheet
On Error GoTo Whoa
Application.EnableEvents = False
' Set starting selection variable.
Set FirstSelection = Selection
Set SheetFirst = FirstSelection.Worksheet
' Reset the Find function so the scope of the search area is the current worksheet.
Set Dummy = Worksheets(1).Range("A1:A1").Find("Dummy", LookIn:=xlValues)
' Change "=" to "#" in selection.
Selection.Replace What:="=", Replacement:="#", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' Select the area you want to paste the formulas; must be same size as original
selection and outside of the original selection.
Set SecondSelection = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
Set SheetSecond = SecondSelection.Worksheet
' Copy the original selection and paste it into the newly selected area. The active
selection remains FirstSelection.
FirstSelection.Copy SecondSelection
' Restore "=" in FirstSelection.
Selection.Replace What:="#", Replacement:="=", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' Select SecondSelection.
SheetSecond.Activate
SecondSelection.Select
' Restore "=" in SecondSelection.
Selection.Replace What:="#", Replacement:="=", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
' Return active selection to the original area: FirstSelection.
SheetFirst.Activate
FirstSelection.Select
Application.EnableEvents = True
Exit Sub
Whoa:
' If something goes wrong after "=" has been changed in FirstSelection, restore "=".
FirstSelection.Select
Selection.Replace What:="#", Replacement:="=", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
Note that you must match the size and shape of the original selection when you make your new selection.
Skip to content
При написании формулы Excel знак $ в ссылке на ячейку сбивает с толку многих пользователей. Но объяснение очень простое: это всего лишь способ ее зафиксировать. Знак доллара в данном случае служит только одной цели — он указывает, следует ли изменять ссылку при копировании. И это короткое руководство предоставляет полную информацию о том, какими способами можно закрепить адрес ячейки, чтобы он не менялся при копировании формулы.
Если вы создаете формулу только для одной клетки вашей таблицы Excel, то проблема как зафиксировать ячейку вас не волнует. А вот если её нужно копировать или перемещать по таблице, то здесь-то и скрываются подводные камни. Чтобы не сломать расчеты, некоторые ячейки следует зафиксировать в формулах, чтобы их адреса уже не менялись.
Как упоминалось ранее, относительные ссылки на ячейки являются основными по умолчанию для любой формулы, созданной в Excel. Но их главная особенность — изменение при копировании и перемещении. Во многих же случаях необходимо зафиксировать адрес ячейки в формуле, чтобы не потерять эту ссылку при изменении таблицы. Ниже мы рассмотрим следующие способы:
- Как зафиксировать ячейку вручную.
- Использование функциональной клавиши.
- Выборочная фиксация по строке или столбцу.
- Закрепите адрес ячейки при помощи имени.
Чтобы предотвратить изменение ссылок на ячейку, строку или столбец, используют абсолютную адресацию , которая отличается тем, что перед координатой строки или столбца ставится знак доллара $.
Поясним на простом примере.
=A1*B1
Здесь используются относительные ссылки. Если переместить это выражение на 2 ячейки вниз и 2 вправо, то мы увидим уже
=C3*D3
На 2 позиции изменилась буква столбца и на 2 единицы – номер строки.
Если в ячейке A1 у нас записана информация, которую нам нужно использовать во многих клетках нашей таблицы (например, курс доллара, размер скидки и т.п.), то желательно зафиксировать ее, чтобы ссылка на ячейку A1 никогда не «сломалась»:
=$A$1*B1
В результате, если мы повторим предыдущую операцию, то получим в результате формулу
=$A$1*D3
Ссылка на A1 теперь не относительная, а абсолютная. Более подробно об относительных и абсолютных ссылках вы можете прочитать в этой статье на нашем блоге.
В этом и состоит решение проблемы фиксации ячейки — нужно превратить ссылку в абсолютную.
А теперь рассмотрим подробнее, какими способами можно закрепить ячейку, строку или столбец в формуле.
Как вручную зафиксировать ячейку в формуле.
Предположим, у нас уже имеется формула в одной из клеток нашей таблицы.
В ячейке D2 подсчитаем сумму скидки:
=B2*F2
Записывать подобный расчет для каждого товара — хлопотно и нерационально. Хочется скопировать его из C2 вниз по столбцу. Но при этом ссылка на F2 не должна измениться. Иначе наши расчеты окажутся неверными.
Поэтому ссылку на ячейку F2 в нашем расчёте нужно каким-то образом зафиксировать, чтобы предотвратить ее изменение. Для этого мы при помощи знаков $ превратим ее из относительной в абсолютную.
Самый простой выход – отредактировать C2, для чего можно дважды кликнуть по ней мышкой, либо установить в нее курсор и нажать функциональную клавишу F2.
Далее при помощи курсора и клавиатуры вставляем в нужные места знак $ и нажимаем Enter. Получаем:
=B2*$F$2
Другими словами, использование $ в ссылках на ячейки делает их фиксированными и позволяет перемещать формулу в Excel без их изменения. Вот теперь можно и копировать, как показано на скриншоте ниже.
Фиксируем ячейку при помощи функциональной клавиши.
Вновь открываем ячейку для редактирования и устанавливаем курсор на координаты нужной нам ячейки.
Нажимаем функциональную клавишу F4 для переключения вида ссылки.
Неоднократно нажимая F4, вы будете переключать ссылки в следующем порядке:
Для того, чтобы зафиксировать ссылку на ячейку, достаточно нажать F4 всего один раз.
Думаю, это несколько удобнее, чем вводить знак доллара вручную.
Частичная фиксация ячейки по строке или по столбцу.
Часто случается, что необходимо зафиксировать только строку или столбец в адресе ячейки. Для этого используются смешанные ссылки.
Вы можете использовать два вида смешанных ссылок:
- Строка фиксируется, а столбец изменяется при копировании.
- Столбец блокируется, а строка изменяется при копировании.
Смешанная ссылка содержит одну относительную и одну абсолютную координату, например $A1 или A$1. Проще говоря, знак доллара используется только единожды.
Получить такую ссылку вы можете любым из описанных выше способов. Либо вручную выбираете место и устанавливаете знак $, либо нажимаете F4 не один, а два или три раза. Вы это видите на рисунке чуть выше.
В результате мы имеем следующее:
В таблице ниже показано, как может быть закреплена ссылка на ячейку.
Зафиксированная ячейка | Что происходит при копировании или перемещении | Клавиши на клавиатуре |
$A$1 | Столбец и строка не меняются. | Нажмите F4. |
A$1 | Строка не меняется. | Дважды нажмите F4. |
$A1 | Столбец не изменяется. | Трижды нажмите F4. |
Рассмотрим пример, когда нужно закрепить только одну координату: либо столбец, либо строку. И все это в одной формуле.
Предположим, нужно рассчитать цены продажи при разных уровнях наценки. Для этого нужно умножить колонку с ценами (столбец В) на 3 возможных значения наценки (записаны в C2, D2 и E2). Вводим выражение для расчёта в C3, а затем копируем его сначала вправо по строке, а затем вниз:
=$B3*(1+C$2)
Так вы можете использовать силу смешанной ссылки для расчета всех возможных цен с помощью всего одной формулы.
В первом множителе мы зафиксировали в координатах ячейки адрес столбца. Поэтому при копировании вправо по строке адрес $B3 не изменится: ведь строка по-прежнему третья, а буква столбца у нас зафиксирована и меняться не может.
А вот во втором множителе знак доллара мы поставили перед номером строки. Поэтому при копировании вправо координаты столбца изменятся и вместо C$2 мы получим D$2. В результате в D3 у нас получится выражение:
=$B3*(1+D$2)
А когда будем копировать вниз по столбцу, всё будет наоборот: $B3 изменится на $B4, $B5 и т.д. А вот D$2 не изменится, так как «заморожена» строка. В результате в С4 получим:
=$B4*(1+C$2)
Самый приятный момент заключается в том, что формулу мы записываем только один раз, а потом просто копируем ее. Одним махом заполняем всю таблицу и экономим очень много времени.
И если ваши наценки вдруг изменятся, просто поменяйте числа в C2:E2, и проблема пересчёта будет решена почти мгновенно.
В случае, если вам нужно поменять относительные ссылки на абсолютные (или наоборот) в группе ячеек, в целом столбце или большой области, то описанный выше способ ручной корректировки может стать весьма обременительным и скучным занятием. При помощи специального инструмента преобразования формул вы можете выделить целый диапазон, а затем преобразовать формулы в этих ячейках в абсолютные либо в относительные ссылки. Или же можно просто заменить все формулы их значениями одним кликом мышки.
Как зафиксировать ячейку, дав ей имя.
Отдельную ячейку или целый диапазон ячеек в Excel также можно определить по имени. Для этого вы просто выбираете нужную ячейку, вводите желаемое имя в поле Имя и нажимаете клавишу Enter.
Вернёмся к нашему примеру со скидками. Давайте попробуем ячейке F2 присвоить собственное имя, чтобы затем использовать его в расчетах.
Установите курсор в F2, а затем присвойте этому адресу имя, как это показано на рисунке выше. При этом можно использовать только буквы, цифры и нижнее подчёркивание, которым можно заменить пробел. Знаки препинания и служебные символы не допускаются. Не будем мудрствовать и назовём его «скидка».
Это имя теперь вы можете использовать в формулах вашей рабочей книги. Это своего рода абсолютная ссылка, поскольку за ним навсегда закрепляются координаты определенной ячейки или диапазона.
Таким образом, ячейку F2 мы ранее фиксировали при помощи абсолютной ссылки и знака $ —
=B2*$F$2
а теперь то же самое делаем при помощи её имени «скидка»:
=B2*скидка
Ячейка так же надёжно зафиксирована, а формула же при этом становится более понятной и читаемой.
Эксель понимает, что если в формуле встречается имя «скидка», то вместо него нужно использовать содержимое ячейки F2.
Вот какими способами можно зафиксировать ячейку в формуле в Excel. Благодарю вас за чтение и надеюсь, что эта информация была полезной!