Как перемещать формулы в excel

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

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

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

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

  1. Выделите ячейку с формулой, которую необходимо переместить.

  2. В группе Буфер обмена на вкладке Главная нажмите кнопку Вырезать.

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

  3. Выполните одно из указанных ниже действий.

    • Чтобы вировать формулу иформатирование: в группе Буфер обмена на вкладке Главная нажмите кнопку В виде вкладки.

    • Чтобы вировать только формулу:в группе Буфер обмена на вкладке Главная нажмите кнопку В paste(Главная), выберите специальная ветвь ищелкните Формулы.

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

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

  2. В группе Буфер обмена на вкладке Главная нажмите кнопку Копировать.

  3. Выполните одно из указанных ниже действий.

    • Чтобы вировать формулу и любое форматирование, в группе Буфер обмена на вкладке Главная нажмите кнопку В виде вкладки.

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

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

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

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

    2. В строке формул строка формул Изображение кнопки выделите ссылку, которую нужно изменить.

    3. Для переключения между сочетаниями нажмите F4.

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

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

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

Новая ссылка

Формула, копируемая из ячейки A1 на две ячейки вниз и вправо

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

$A$1

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

C$1

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

$A3

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

C3

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

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

  1. Вы выберите ячейку с формулой, которую вы хотите переместить.

  2. Щелкните Главная > вырезать (или нажмите CTRL+X).

    Команда "Вырезать" в группе "Буфер обмена"

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

    Команда "Вставить" в группе "Буфер обмена"

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

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

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

1 Простое протягивание формулы

Это самый простой и привычный для многих пользователей способ распространения формулы сразу на несколько ячеек строки или столбца. Он требует выполнения следующих действий:

  • В первую ячейку с одной из сторон (например, сверху) надо записать нужную формулу и нажать Enter.
  • После появления рассчитанного по формуле значения навести курсор в нижний правый угол ячейки. Подождать, пока толстый белый крестик не превратиться в тонкий черный.
  • Нажать на крестик и, удерживая его, протянуть формулу в нужном направлении. В указанном примере — вниз.

Аргументы в формуле будут изменяться соответственно новому расположению. И если в самой первой ячейке это были F7 и G7, в последней позиции столбца это будет уже F12 и G12. Соответственно, если начинать распространять формулы по строкам, изменяться будут не цифры, а буквы в обозначениях ячеек.

Способ отличается простотой и высокой скоростью. Но не всегда подходит для больших таблиц. Так, если в столбце несколько сотен или даже тысяч значений, формулу проще растягивать другими способами, чтобы сэкономить время. Один из них — автоматическое копирование, требующее всего лишь двойного клика кнопкой мыши.

2 Быстрое автозаполнение

Еще один способ в Excel протянуть формулу до конца столбца с более высокой по сравнению с первой методикой скоростью. Требует от пользователя применить такие действия:

  • Ввести в верхнюю ячейку формулу, в которой применяются аргументы из соседних столбцов. Нажать кнопку Enter.
  • Навести курсор на правый нижний угол, чтобы он приобрел форму черного крестика.
  • Кликнуть два раза по нижнему правому углу ячейки. Результатом станет автоматическое распространение формулы по столбцу с соответствующим изменением аргументов.

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

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

  • Excel: 10 формул для работы в офисе

3 Протягивание без изменения ячеек в формуле

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

Для распределения без изменения адреса ячейки выполняются те же действия, что и при обычном протягивании или автоматическом копировании. Но при вводе формулы следует зафиксировать адреса, которые не будут меняться. Для этого используются символы доллара — $. Если в каждом новом пункте столбца при расчетах используется одна и та же ячейка, значки надо будет поставить и перед номером строки, и перед литерой, которая указывает на колонку. Как в примере: $G$6.

Ставить знак $ перед названием только строки или столбца при распределении функции не имеет смысла. Потому что, когда формула протягивается, в ней автоматически меняются только нужные части аргументов. Для столбцов это будут номера строк, для строк — названия колонок.

4 Простое копирование

Еще один способ представляет собой не совсем протягивание, а копирование. Но только более простое и позволяющее выделить конкретный диапазон, а не доверять такое выделение компьютеру. Процесс распределения требует выполнить следующие действия:

  • Записать в одну из крайних ячеек строки или столбца нужную формулу и нажать Enter.
  • Скопировать значение функции — с помощью контекстного меню, иконки на панели или комбинации клавиш Ctrl + C.
  • Установить курсор в противоположную часть столбца или строки.
  • Нажать на клавиши Ctrl + Shift + «Стрелка вверх». Результатом становится выделение нужного диапазона, даже если на этом участке столбца будет несколько сотен или тысяч пунктов.
  • Вставить формулу. Самый простой способ сделать это — нажать комбинацию Ctrl + V.

Результатом будет такое же распределение функции по столбцу, как и при использовании способа №2. Но в отличие от него здесь можно выделить только часть диапазона. Или, наоборот, продлить такое протягивание дальше даже при наличии пустых строк. Правда, во втором случае лишнее значение придется удалить вручную.

Эта небольшая хитрость подходит и для распределения вдоль строки. В этом случае вместо комбинации Ctrl + Shift + «Стрелка вверх» придется нажать Ctrl + Shift + «Стрелка влево» (или вправо, если копируемая формула находится в крайнем левом столбце).

  • Как в Экселе посчитать сумму определенных ячеек

5 Протягивание формул в таблице Excel

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

Для преобразования в табличную форму достаточно выделить одну из ячеек и нажать комбинацию Ctrl + T, чтобы вызвать диалоговое окно и указать диапазон данных таблицы.
Перед тем, как протянуть формулу в Excel, достаточно всего лишь ввести нужную функцию в самой верхней строчке таблицы и нажать Enter. Способ работает только при отсутствии других значений в столбце с формулой.

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

Читайте также:

  • Лучшие веб-камеры для дома и офиса: рейтинг 2021 года=«content_internal_link»>
  • Нумерация страниц в Опен Офис: простая инструкция=«content_internal_link»>

Перейти к содержимому

Рассмотрим несколько способов протягивания (копирования) формул в строках и столбцах программы Excel.

Первый способ: протянуть ячейку в столбце или строке.

Чтобы протянуть (распространить) формулу из одной ячейки в несколько ячеек столбца или строки следует выполнить ряд действий:
1. Записать функцию (формулу) в ячейку и нажать ENTER.
2. Навести курсор на нижний правый угол ячейки таким образом, чтобы он приобрел форму тонкого черного крестика.
3. Нажать и удерживать левую кнопку мыши.Протянуть крестик в excel
4. Не отпуская кнопку мыши потянуть крестик в нужном направлении. В ту сторону, в которую следует распространить значение ячейки.

Второй способ: быстрое протягивание формулы в один клик мыши.

Для быстрого заполнения столбца формулой или значением из ячейки достаточно выполнить следующие действия:
1. Записать функцию (формулу) в ячейку и нажать «ENTER».
2. Навести курсор на нижний правый угол ячейки таким образом, чтобы он приобрел форму тонкого черного крестика.Кликнуть по крестику в правом углу
3. Кликнуть двойным кликом по правому нижнему углу ячейки.

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

Третий способ: протянуть формулу без изменения (смещения) исходных ячеек.

Для протягивания функции без ее изменения следует выполнить те же операции, что в первом и во втором случает. Только перед протягиванием нужно зафиксировать адреса неизменяемых ячеек.
Зафиксировать адреса ячеек можно добавив перед значением адреса столбца или перед значением адреса строки знак «$»доллара.Зафиксировать формулу в эксель
Теперь, когда адрес закреплен, он не будет меняться при протягивании.

Четвертый способ: протянуть формулу при помощи копирования.

Подходит для работы под фильтрами.
Выполняется следующим образом:
1. Записать функцию (формулу) в ячейку и нажать ENTER.
2. Копировать значение ячейки при помощи выпадающего контекстного меню правой кнопкой мыши или сочетанием клавиш «ctrl»+»c».Копировать формулу
3. Выделить нужный диапазон.
Для быстрого выделения вниз достаточно нажать сочетание клавиш:
«Ctrl»+»shift»+ стрелка вниз
Для быстрого выделения в сторону достаточно нажать сочетание клавиш:
«Ctrl»+»shift»+ стрелка в сторонуВыделенное поле

  1. После того, как выделили диапазон, следует вставить скопированную формулу при помощи выпадающего контекстного меню правой кнопкой мыши или сочетанием клавиш «ctrl»+»v».


Загрузить PDF


Загрузить PDF

В Excel можно быстро скопировать формулу во множество ячеек одной строки или одного столбца, но результат не всегда будет таким, какой планировался. Если вы не добились желаемого результата или в ячейках появились сообщения #REF и /DIV0, почитайте, что такое абсолютные и относительные адреса ячеек, чтобы выяснить причину ошибки. Помните, что вносить изменения во всех ячейках таблицы, которая состоит из 5000 строк, не придется — для этого есть методы, которые позволяют автоматически обновить формулу в определенной ячейке или скопировать ее без изменения значений.

  1. Изображение с названием 579572 1 1

    1

    Введите формулу в одной ячейке. Сначала введите знак равенства (=), а затем введите нужную функцию или математическую операцию. Например, вам нужно сложить значения столбцов A и B:

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 =A1+B1
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  2. Изображение с названием 579572 2 1

    2

    Нажмите клавишу «Enter», чтобы вычислить результат по введенной формуле. В ячейке, где вы ввели формулу, отобразится результат (в нашем примере вычисленная сумма 19), но формула будет храниться в электронной таблице.

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 19
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  3. Изображение с названием 579572 3 1

    3

    Нажмите на маркер в нижнем правом углу ячейки. Переместите указатель в правый нижний угол ячейки с формулой; указатель превратится в символ «+». [1]

  4. Изображение с названием 579572 4 1

    4

    Удерживайте значок «+» и перетащите его по нужным ячейкам столбца или строки.
    Удерживайте кнопку мыши нажатой, а затем перетащите символ «+» вниз по столбцу или вправо по строке, чтобы выделить нужные ячейки. Введенная формула будет автоматически скопирована в выделенные ячейки. Так как здесь присутствует относительный адрес ячейки, адреса ячеек (в скопированных формулах) соответственно изменятся. В нашем примере (показаны формулы, которые автоматически поменялись, и вычисленные значения):

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 =A1+B1
    строка 2 20 8 =A2+B2
    строка 3 30 7 =A3+B3
    строка 4 40 6 =A4+B4

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 19
    строка 2 20 8 28
    строка 3 30 7 37
    строка 4 40 6 46
  5. Изображение с названием 579572 5 1

    5

    Дважды щелкните по «+», чтобы скопировать формулу во все ячейки столбца.
    Вместо того, чтобы перетаскивать символ «+», переместите указатель мыши в правый нижний угол ячейки с формулой и дважды щелкните по появившемуся значку «+». Формула скопируется во все ячейки столбца.
    [2]

    • Если в столбце есть пустые ячейки, автоматическое копирование формулы прекратится, как только будет достигнута первая пустая ячейка. В этом случае повторите описанные действия, чтобы скопировать формулу в ячейки, которые расположены под пустой ячейкой.

    Реклама

  1. Изображение с названием 579572 1 1

    1

    Введите формулу в одной ячейке. Сначала введите знак равенства (=), а затем введите нужную функцию или математическую операцию. Например, вам нужно сложить значения столбцов A и B:

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 =A1+B1
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  2. Изображение с названием 579572 2 1

    2

    Нажмите клавишу «Enter», чтобы вычислить результат по введенной формуле. В ячейке, где вы ввели формулу, отобразится результат (в нашем примере вычисленная сумма 19), но формула будет храниться в электронной таблице.

    Таблица

    Столбец A Столбец B Столбец C
    строка 1 10 9 19
    строка 2 20 8
    строка 3 30 7
    строка 4 40 6
  3. 3

    Щелкните по ячейке с формулой, а затем нажмите CTRL+C, чтобы скопировать ее.

  4. 4

    Выделите ячейки, в которые будет скопирована формула. Нажмите на одну из ячеек, удерживайте кнопку мыши и проведите указателем по нужным ячейкам. Также можно удерживать клавишу «Ctrl» и щелкнуть по несмежным нужным ячейкам.

  5. 5

    Вставьте формулу в выделенные ячейки. Для этого нажмите CTRL+V.

    Реклама

  1. Изображение с названием 579572 6 1

    1

    Воспользуйтесь этим методом, чтобы скопировать формулу без изменения адресов ячеек, которые входят в нее. Иногда таблица полна формул, и их нужно точно скопировать (то есть без изменений). Если менять относительные адреса ячеек на абсолютные адреса во всех формулах, можно потратить уйму времени (это тем более не приемлемо, если в будущем вам придется опять менять адреса). Этот метод подразумевает копирование формулы с относительными адресами ячеек в другие ячейки так, что формула не изменится. [3]
    Например, скопируем все содержимое столбца C в столбец D:

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки =A1/2
    строка 2 636 Жабы =A2/2
    строка 3 712 Тритоны =A3/2
    строка 4 690 Змеи =A4/2
    • Если вы хотите скопировать просто одну формулу, перейдите к шагу «Воспользуйтесь альтернативным методом» этого раздела.
  2. Изображение с названием 579572 7 1

    2

    Откройте окно «Найти». В большинстве версий Excel щелкните по вкладке Главная в верхней части окна Excel, а затем щелкните по Найти и выбрать в разделе «Редактирование».[4]
    Также можно нажать клавиши CTRL+F.

  3. Изображение с названием 579572 8 1

    3

    Найдите и замените знак равенства (=) на другой символ. Введите «=», щелкните по «Найти все», а затем в поле «Заменить» введите любой другой символ. В этом случае все ячейки с формулами (в начале которых стоит знак равенства) автоматически превратятся в текстовые ячейки, которые начинаются с других символов. Обратите внимание, что нужно ввести символ, которого нет в ячейках таблицы. Например, замените знак равенства на символ # или &; также «=» можно заменить на несколько символов, например, на ##&.

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки ##&A1/2
    строка 2 636 Жабы ##&A2/2
    строка 3 712 Тритоны ##&A3/2
    строка 4 690 Змеи ##&A4/2
    • Не используйте символы * или ?, чтобы не столкнуться с проблемами в дальнейшем.
  4. Изображение с названием 579572 9 1

    4

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

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки ##&A1/2 ##&A1/2
    строка 2 636 Жабы ##&A2/2 ##&A2/2
    строка 3 712 Тритоны ##&A3/2 ##&A3/2
    строка 4 690 Змеи ##&A4/2 ##&A4/2
  5. Изображение с названием 579572 10 1

    5

    Используйте функции «Найти» и «Заменить» еще раз, чтобы вернуться к прежним формулам. Скопировав формулы как текст, воспользуйтесь функциями «Найти все» и «Заменить на», чтобы вернуться к прежним формулам. В нашем примере найдем все символы ##& и заменим их на знак равенства (=), чтобы в ячейках появились формулы.

    Таблица

    Столбец A Столбец B Столбец C Столбец D
    строка 1 944 Лягушки =A1/2 =A1/2
    строка 2 636 Жабы =A2/2 =A2/2
    строка 3 712 Тритоны =A3/2 =A3/2
    строка 4 690 Змеи =A4/2 =A4/2
  6. Изображение с названием 579572 11 1

    6

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

    • Чтобы точно скопировать одну формулу, выделите ячейку с формулой, а затем скопируйте формулу, которая отображается в строке формул (а не в ячейке) в верхней части окна. Нажмите esc, чтобы закрыть строку формул, а затем вставьте формулу в нужные ячейки.[5]
    • Нажмите Ctrl` (обычно этот символ находится на клавише с символом ~), чтобы перейти в режим просмотра формул. Скопируйте формулы, а затем вставьте их в простейший текстовый редактор, такой как Блокнот или TextEdit. Скопируйте формулы из текстового редактора и вставьте их в нужные ячейки электронной таблицы.[6]
      Еще раз нажмите Ctrl`, чтобы вернуться в обычный режим работы с таблицей.

    Реклама

  1. Изображение с названием 579572 12 1

    1

    Используйте в формуле относительный адрес ячейки. Для этого введите адрес вручную или щелкните по нужной ячейке, когда будете вводить формулу. Например, в этой таблице есть формула с адресом ячейки A2:

    Относительные адреса ячеек

    Столбец A Столбец B Столбец C
    строка 2 50 7 =A2*2
    строка 3 100
    строка 4 200
    строка 5 400
  2. Изображение с названием 579572 13 1

    2

    Запомните, что такое относительный адрес ячейки. В формуле такой адрес указывает на относительную позицию ячейки. Например, если в ячейке С2 есть формула «=A2», эта формула указывает на значение, которое находится двумя столбцами левее. Если скопировать формулу в ячейку С4, эта формула опять укажет на значение, которое находится двумя столбцами левее — то есть в ячейке С4 отобразится формула «= A4».

    Относительные адреса ячеек

    Столбец A Столбец B Столбец C
    строка 2 50 7 =A2*2
    строка 3 100
    строка 4 200 =A4*2
    строка 5 400
    • Этот принцип распространяется на ячейки в разных строках и столбцах. Например, если скопировать ту же формулу из ячейки C1 в ячейку D6 (не показана), в формуле появится адрес ячейки, которая расположена одним столбцом правее (C → D) и пятью строками ниже (2 → 7), а именно адрес «B7».
  3. Изображение с названием 579572 14 1

    3

    Используйте в формуле абсолютный адрес ячейки. Сделайте это, чтобы формула не менялась автоматически. Чтобы относительный адрес превратить в абсолютный, введите символ $ перед буквой столбца или номером строки, которые не должны измениться.[7]
    Далее приведены примеры (исходная формулы выделена жирным шрифтом; также показана эта формула, скопированная в другие ячейки):

    Относительный столбец, Абсолютная строка (B$3):
    В формуле присутствует абсолютная строка «3», то есть формула будет всегда ссылаться на третью строку.

    Столбец A Столбец B Столбец C
    строка 1 50 7 =B$3
    строка 2 100 =A$3 =B$3
    строка 3 200 =A$3 =B$3
    строка 4 400 =A$3 =B$3

    Абсолютный столбец, Относительная строка ($B1):
    В формуле присутствует абсолютный столбец «В», то есть формула будет всегда ссылаться на столбец «В».

    Столбец A Столбец B Столбец C
    строка 1 50 7 =$B1
    строка 2 100 =$B2 =$B2
    строка 3 200 =$B3 =$B3
    строка 4 400 =$B4 =$B4

    Абсолютные столбец и строка ($B$1):
    В формуле присутствует абсолютный столбец «В» и абсолютная строка «1», то есть формула будет всегда ссылаться на столбец «В» и первую строку.

    Столбец A Столбец B Столбец C
    строка 1 50 7 =$B$1
    строка 2 100 $B$1 $B$1
    строка 3 200 $B$1 $B$1
    строка 4 400 $B$1 $B$1
  4. Изображение с названием 579572 15 1

    4

    Используйте клавишу F4, чтобы относительный адрес превратить в абсолютный. В формуле выделите адрес ячейки, щелкнув по ней, а затем нажмите клавишу F4, чтобы ввести или удалить символ(ы) $. Нажимайте F4 до тех пор, пока не создадите нужный абсолютный адрес, а затем нажмите Enter.[8]

    Реклама

Советы

  • Если при копировании формулы в ячейке отобразился значок в виде зеленого треугольника, Excel обнаружил ошибку. Внимательно посмотрите на формулу, чтобы выяснить, что пошло не так.[9]
  • Если при точном копировании формулы вы случайно заменили знак равенства (=) на символ ? или *, поиск этих символов ничего не даст. В этом случае ищите символы ~? или ~*.[10]
  • Щелкните по ячейке и нажмите Ctrl (апостроф), чтобы скопировать в нее формулу из ячейки, которая находится над выбранной ячейкой.[11]

Реклама

Предупреждения

  • Возможно, у вашей версии Excel немного другой интерфейс, чем тот, который показан на скриншотах в этой статье.

Реклама

Об этой статье

Эту страницу просматривали 131 980 раз.

Была ли эта статья полезной?

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

Проблема

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

exact-formulas-copy1.png

Проблема в том, что если скопировать диапазон D2:D8 с формулами куда-нибудь в другое место на лист, то Microsoft Excel автоматически скорректирует ссылки в этих формулах, сдвинув их на новое место и перестав считать:

exact-formulas-copy2.png

Задача: скопировать диапазон с формулами так, чтобы формулы не изменились и остались теми же самыми, сохранив результаты расчета.

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

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

exact-formulas-copy9.png

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

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

Чтобы формулы при копировании не менялись, надо (временно) сделать так, чтобы Excel перестал их рассматривать как формулы. Это можно сделать, заменив на время копирования знак «равно» (=) на любой другой символ, не встречающийся обычно в формулах, например на «решетку» (#) или на пару амперсандов (&&). Для этого:

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

    exact-formulas-copy3.png

  3. В появившемся диалоговом окне вводим что ищем и на что заменяем и в Параметрах (Options) не забываем уточнить Область поиска — Формулы. Жмем Заменить все (Replace all).
  4. Копируем получившийся диапазон с деактивированными формулами в нужное место:

    exact-formulas-copy4.png

  5. Заменяем # на = обратно с помощью того же окна, возвращая функциональность формулам.

Способ 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

Понравилась статья? Поделить с друзьями:
  • Как перемещать фигуру по документу word
  • Как перемещать текст в ячейке excel
  • Как перемещать текст в microsoft word
  • Как перемещать строчки в excel
  • Как перемещать строки в таблице word