Копирование расчетов ячеек excel

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

Иногда на то, чтобы придумать некоторые вещи, уходит очень много времени. Но когда их УЖЕ придумали, то постфактум они кажутся очевидными и даже банальными. Из серии «а что, так можно было?».

С самых первых версий в строке состояния внизу окна Microsoft Excel традиционно отображались итоги по выделенным ячейкам:

Итоги по выделенным ячейкам

При желании, можно было даже щёлкнуть по этим итогам правой кнопкой мыши и выбрать в контекстном меню, какие именно функции мы хотим видеть:

Выбор функций

И только совсем недавно в последних обновлениях Excel разработчики Microsoft добавили простую, но гениальную фишку — теперь при щелчке мышью по этим итогам они копируются в буфер!

Копирование итогов в буфер

Красота. 

Но что делать тем, у кого пока (или уже?) нет такой версии Excel? Тут могут помочь несложные макросы.

Копирование суммы выделенных ячеек в Буфер с помощью макроса

Откройте на вкладке Разработчик (Developer) редактор Visual Basic или воспользуйтесь для этого сочетанием клавиш Alt+F11. Вставьте новый пустой модуль через меню Insert — Module и скопируйте туда следующий код:

Sub SumSelected()
    If TypeName(Selection) <> "Range" Then Exit Sub
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText WorksheetFunction.Sum(Selection)
        .PutInClipboard
    End With
End Sub

Логика его работы проста:

  • Сначала идёт «защита от дурака» — мы проверяем что именно выделено. Если выделены не ячейки (а, например, диаграмма), то выходим из макроса.
  • Затем при помощи команды GetObject мы создаем новый объект данных, где будет храниться впоследствии наша сумма выделенных ячеек. Длинный и непонятный буквенно-цифровой код — это, на самом деле, ссылка на ветку реестра Windows, где лежит библиотека Microsoft Forms 2.0 Object Library, которая умеет создавать такие объекты. Иногда такой трюк ещё называют неявным поздним связыванием. Если его не использовать, то пришлось бы заранее делать в файле ссылку на эту библиотеку через меню Tools — References.
  • Сумма выделенных ячеек считается командой WorksheetFunction.Sum(Selection), а затем полученная сумма помещается в буфер обмена командой PutInClipboard

Для удобства использования можно, конечно же, повесить этот макрос на сочетание клавиш с помощью кнопки Макросы на вкладке Разработчик (Developer — Macros).

А если хочется видеть, что именно скопировалось после выполнения макроса, то можно включить панель Буфер обмена с помощью маленькой стрелки в правом нижнем углу соответствующей группы на Главной (Home) вкладке:

Содержимое Буфера

Не только сумма

Если кроме банальной суммы хочется что-то ещё, то можно воспользоваться любой из функций, которую нам предоставляет объект WorksheetFunction:

Другие функции итогов

Например, там есть:

  • Sum — сумма
  • Average — среднее арифметическое
  • Count — количество ячеек с числами
  • CountA — количество заполненных ячеек
  • CountBlank — количество пустых ячеек
  • Min — минимальное значение
  • Max — максимальное значение
  • Median — медиана (центральное значение)
  • … и т.д.

С учетом фильтров и скрытых строк-столбцов

Что если в выделенном диапазоне окажутся скрытые (вручную или фильтром) строки или столбцы? Чтобы не учитывать их в итогах, нужно будет чуть-чуть модифицировать наш код, добавив к объекту Selection свойство SpecialCells(xlCellTypeVisible):

Sub SumVisible()
    If TypeName(Selection) <> "Range" Then Exit Sub
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText WorksheetFunction.Sum(Selection.SpecialCells(xlCellTypeVisible))
        .PutInClipboard
    End With
End Sub

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

Если нужна живая формула

Если пофантазировать, то можно придумать сценарии, когда в буфер лучше скопировать не число (константу), а именно живую формулу, которая подсчитывает нужные нам итоги по выделенным ячейкам. В этом случае придётся склеить формулу из фрагментов, добавив к ней дополнительно удаление знаков доллара и замену запятой (которая используется как разделитель адресов нескольких выделенных диапазонов в VBA) на точку с запятой:

Sub SumFormula()
    If TypeName(Selection) <> "Range" Then Exit Sub
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText "=СУММ(" & Replace(Replace(Selection.Address, ",", ";"), "$", "") & ")"
        .PutInClipboard
    End With
End Sub

Суммирование с дополнительными условиями

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

 Sub CustomCalc()
    Dim myRange As Range
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    For Each cell In Selection
        If cell.Value > 5 And cell.Interior.ColorIndex <> xlNone Then
            If myRange Is Nothing Then
                Set myRange = cell
            Else
                Set myRange = Union(myRange, cell)
            End If
        End If
    Next cell
    
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .SetText WorksheetFunction.Sum(myRange)
        .PutInClipboard
    End With
End Sub

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

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

  • Преобразование формул в значения (6 способов)
  • Что такое макросы, как их использовать, куда вставлять код на Visual Basic
  • Полезная информация в строке состояния Microsoft 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. Убедитесь, что ссылки на ячейки остаются нужными.

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


Загрузить 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 раз.

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

Специальное копирование значений и формул

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

Копирование значений

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

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

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

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

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

Убрать формулу в Excel оставив значения

Удаление формул в Microsoft Excel

Работа с формулами в Экселе позволяет значительно облегчить и автоматизировать различные вычисления. Вместе с тем, далеко не всегда нужно, чтобы результат был привязан к выражению. Например, при изменении значений в связанных ячейках, изменятся и итоговые данные, а в некоторых случаях это не нужно. Кроме того, при переносе скопированной таблицы с формулами в другую область значения могут «потеряться». Ещё одним поводом их спрятать может служить ситуация, когда вы не хотите, чтобы другие лица видели, как проводятся в таблице расчеты. Давайте выясним, какими способами можно удалить формулу в ячейках, оставив только результат вычислений.

Процедура удаления

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

http://lumpics.ru/how-to-enable-or-disable-Формула в Microsoft Excelmacros-in-excel/

Способ 1: копирование значений через параметры вставки

Скопировать данные без формулы в другую область можно при помощи параметров вставки.

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

Копирование в Microsoft Excel

Вставка в Microsoft Excel

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

Таблица вставлена в Microsoft Excel

Способ 2: копирование специальной вставкой

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

  1. Копируем тем же способом, что и прошлый раз содержимое таблицы или диапазона.
  2. Выделяем всю область вставки или её левую верхнюю ячейку. Делаем щелчок правой кнопкой мыши, тем самым вызывая контекстное меню. В открывшемся списке выбираем пункт «Специальная вставка». Далее в дополнительном меню жмем на кнопку «Значения и исходное форматирование», которая размещается в группе «Вставить значения» и представляет собой пиктограмму в виде квадрата, где изображены цифры и кисточка.

Вставка с помощью специальной вставки в Microsoft Excel

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

Вставка с сохранением форматирования в Microsoft Excel

Способ 3: удаление формулы из исходной таблицы

До этого мы говорили, как убрать формулу при копировании, а теперь давайте выясним, как её удалить из исходного диапазона.

  1. Производим копирование таблицы любым из тех методов, о которых шел разговор выше, в пустую область листа. Выбор конкретного способа в нашем случае значения иметь не будет.
  2. Выделяем скопированный диапазон. Щелкаем по кнопке «Копировать» на ленте.

Повторное копирование в Microsoft Excel

Повторная вставка в Microsoft Excel

Удаление таблицы в Microsoft Excel

Настройки удаления в Microsoft Excel

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

Способ 4: удаление формул без создания транзитного диапазона

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

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

Копирование в программе Microsoft Excel

Вставка в программе Microsoft Excel

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

Формул в таблице нет Microsoft Excel

Способ 5: использование макроса

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

    Переходим во вкладку «Разработчик». Кликаем по кнопке «Visual Basic», размещенной на ленте в блоке инструментов «Код».

Переход в редактор макросов в Microsoft Excel

Sub Удаление_формул() Selection.Value = Selection.Value End Sub

После этого закрываем окно редактора стандартным способом, нажав на кнопку в правом верхнем углу.

Редактор макросов в Microsoft Excel

Переход к макросам в Microsoft Excel

Запуск макроса в Microsoft Excel

После этого действия все формулы в выделенной области будут удалены, а останутся только результаты вычислений.

Максрос выполнил задачу в Microsoft Excel

Урок: Как включить или отключить макросы в Excel

Урок: Как создать макрос в Excel

Способ 6: Удаление формулы вместе с результатом

Впрочем, бывают случаи, когда нужно удалить не только формулу, но и результат. Сделать это ещё проще.

    Выделяем диапазон, в котором размещены формулы. Кликаем правой кнопкой мыши. В контекстном меню останавливаем выбор на пункте «Очистить содержимое». Если вы не хотите вызывать меню, то можно просто после выделения нажать клавишу Delete на клавиатуре.

Очистка содержимого в Microsoft Excel

Содержимое очищено в Microsoft Excel

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

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

В процессе работы с Microsoft Excel у пользователей возникает необходимость внесения дополнительных данных. Для этого необходимо добавлять или копировать строки с формулами.

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

Как добавить новую строку с формулами в Excel?

Пускай мы добавили формулы в одну строку или в несколько. Теперь нам нужно скопировать все строки с формулами. Как это сделать при добавлении новой строки?

  1. Выделяем ту строку, которая содержит формулы. В нашей ситуации это строка под номером 3. Нам необходимо, чтобы остальные строки содержали в себе такие же формулы. Исходная стрпока.
  2. Нажимаем на выделенную область правой кнопкой мышки. Из контекстного меню нужно выбрать опцию «Копировать» (или жмем CTRL+C). Копировать.
  3. После этого следует выделить следующую одну (или несколько) нижнюю строку, куда будет вставлена новая с формулами. Место для вставки.
  4. Щелкнуть по заголовку выделенной строки правой кнопкой мышки и выбрать опцию вставить скопированные ячейки (или нажать комбинацию клавиш CTRL+SHIFT+«=»).

Заметьте, значения ячеек не заменились а добавилась в середину таблицы новая строка со старыми значениями и формулами.

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

Часто при копировании относительные формулы (т.е. те, в которых нет знака «$») «подставляют» другие значения. А что делать, если вы не хотите изменять значение формул?

Можно сделать все ссылки в формулах абсолютными. Такие формулы будут копироваться неизменно, без изменения данных. Чтобы сделать ссылки абсолютными, добавляем к ним знак «$».

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

На пример в такой таблице ссылка на наценку ($B$1) не будет изменятся при копировании на новых строках, так как она является абсолютной, а не относительной:

Абсолютная ссылка.

Но в некоторых больших и сложных таблицах слишком много формул, которые нужно скопировать и переместить. И чтобы во всех ссылках проставить знак «$» нужно потратить много времени.

Для решения данной задачи можно воспользоваться хитрым способом. До копирования заменить все знаки «=» на символ «#».

Для «активации» работы формул используется знак «равно» (или «=»). Чтобы деактивировать их на время копирования поменяем = на #. А после копирования вернем все на свои места. Это позволит нам обойти автоматическую смену адресов в относительных ссылках при копировании.

  1. Нажимаем Ctrl+H (вызываем окно «Главная»-«Найти и выделить»-«Заменить»). Заменить.
  2. Необходимо в поле «Найти» указать символ =, а в поле «Заменить на» символ #. И жмем «Заменить все». Пример1.
  3. После этого вы можете скопировать необходимую строку, а в ее формулах не изменятся адреса ссылок на ячейки, так как они временно деактивированные. Пример2.
  4. Снова жмем комбинацию горячих клавиш «Ctrl+H», но теперь указываем в полях обратные значения: найти «#» и заменить на «=». Система вернет все на свои места

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

Как скопировать формулу/формулы в Excel, копирование и вставка формул

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

Что такое формула?

Формулы — это некоторые выражения, выполняющие вычисления между операндами при помощи операторов. Формулам всегда предшествует знак равенства, за которым следуют операнды и операторы.

Операнды — это элементы вычисления (ссылки, функции и константы ).

Ссылки — это адреса ячеек или их диапазонов.

Функции — это заранее созданные формулы, выполняющие сложные вычисления с введенными значениями (аргументами) в определенном порядке. Различают математические, статистические, текстовы, логические и другие категории функций.

Константы — это постоянные значения, как текстовые, так и числовые.

Операторы — это знаки или символы, определяющие тип вычисления в формуле над операндами. Используются математические, текстовые, операторы сравнения и операторы ссылок.

Ссылки в формулах

Для создания связей между ячейками используются ссылки. Различают три типа ссылок — относительные, абсолютные и смешанные. По умолчанию в Excel используются относительные ссылки.

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

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

Абсолютные ссылки на ячейки

Абсолютная ссылка — это неизменяемая ссылка на ячейку, то есть при изменении позиции ячейки с формулой адрес ячейки с абсолютной ссылкой остается неизменным. Абсолютная ссылка указывается символом $ перед именем (номером) столбца и перед номером строки, например $A$1.

Смешанные ссылки на ячейки

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

Трехмерные ссылки на ячейки

Трехмерные ссылки — это ссылки на одну и ту же ячейку или даипазон ячеек, расположенных на нескольких листах одной книги. Трехмерная ссылка кроме имени столбца и номера строки включает в себя имя листа и имеет следующий вид Лист1:Лист3!А1.

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

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

Простые формулы

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

Для того чтобы создать простую формулу, необходимо:

— выделить ячейку, в которой будет находиться формула;

— ввести с клавиатуры символ равно (=);

— ввести число, затем знак действия, затем следующее число и так далее (например =2+3*4);

— нажать Enter для перехода вниз, Shift+Enter для перехода вверх, Tab для перехода вправо или Shift+Tab для перехода влево.

Формулы с использованием относительных ссылок

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

— выделить ячейку, в которой будет находиться формула;

— ввести символ равенства (=) с клавиатуры;

— ввести адрес ячейки, содержащей нужное значение (можно кликнуть курсором мыши по нужной ячейке);

— вставить в формулу оператор, ввести адрес следующей ячейки и так далее;

— завершить создание формулы аналогично тому, как это описано в предыдущем случае.

Формулы с использованием абсолютных ссылок

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

— выделить ячейку, в которой будет находится формула;

— ввести символ равенства (=) с клавиатуры;

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

— не закрепляя созданную формулу, кликнуть курсором ввода текста в адресном окошке перед адресом той ячейки, которую необходимо сделать абсолютной ссылкой;

— нажать на клавиатуре F4;

— завершить создание формулы клавишей Enter.

Как ввести одну формулу одновременно в несколько ячеек?

Для ввода одной формулы в диапазон ячеек необходимо:

— выделить диапазон ячеек;

— ввести формулу в первую ячейку диапазона;

— закрепить результат сочетанием клавиш Ctrl+Enter.

Как выделить все ячейки с формулами?

В версиях приложения Excel 2007 и выше существует возможность выделять группы ячеек, объединенные общим признаком, например можно найти и выделить все ячейки, содержащие формулы. Для этого на вкладке «Главная» нужно раскрыть меню кнопки «Найти и выделить» и выбрать пункт «Формулы» в списке команд.

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

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

Скопировать формулу из выбранной ячейки можно любым известным способом (при помощи кнопки «Копировать» на вкладке «Главная», при помощи сочетания горячих клавиш Ctrl+C, при помощи пункта «Копировать» в контекстном меню и так далее). После того как формула скопирована, необходимо выделить ячейку, в которую нужно вставить формулу и использовать любой известный способ вставки (кнопкой «Вставить» на вкладке «Главная», сочетанием горячих клавиш Ctrl+V, выбрав пункт «Вставить» из контекстного меню, выбрав пункт «Специальная вставка»). После этого закрепить результат кликом по клавише Enter. Для копирования формулы можно использовать также способ, при котором курсор мыши наводится на правый нижний угол маркера выделения до появления тонкого черного крестика и при нажатой левой кнопке мыши протягивается по всему диапазону. При этом в каждой следующей ячейке формула будет иметь ссылки на новые соответствующие ячейки.

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

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

Если скопировать ячейку или диапазон ячеек с формулами, а вставку осуществить при помощи пункта «Вставить значения» (вкладка «Главная»/группа «Буфер обмена»/кнопка «Вставить», либо контекстное меню «Специальная вставка»/»Значения»), то в результате этой операции вместо формул будут отображены значения, полученные в результате вычисления этих формул. Если скопировать диапазон ячеек с формулами и в этот же диапазон вставить значения, то формулы этого диапазона будут заменены результатами их вычислений.

Как ускорить работу с формулами при создании и редактировании таблиц?

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

Облегчает и ускоряет работу при копировании формул, текста формул и значений формул, а также при замене формул их значениями VBA-надстройка для Excel, позволяющая в указанном диапазоне копировать все ячейки с формулами и вставлять в соседние ячейки с заданным смещением как формулы и тексты формул, так и значения. Диалоговое окно надстройки и ссылка для скачивания представлены ниже.

Надстройка позволяет:

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. в выбранном диапазоне находить ячейки с формулами, копировать их и вставлять с заданным смещением;

3. выбирать один из трех режимов копирования формул:

— «Скопировать формулы» — простое копирование формул, при котором все ссылки, используемые в формулах, автоматически изменяются в соответствии с новым размещением формул;

— «Скопировать текст формул» — точное копирование формул, без изменения ссылок, используемых в формулах;

— «Скопировать значения формул» — копирование, при котором формулы заменяется результатамм их вычислений.

4. заменять формулы выбранного диапазона результатами вычисления (если выбрать опцию «Скопировать значения формул», а в полях, где задается смещение установить нули).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы вставить формулу и форматирование, я использую группу » буфер обмена » на вкладке » Главная » и выбираю команду » Вставить«.

Чтобы вставить только формулу, надстройку группу » буфер обмена » на вкладке » Главная «, нажмите кнопку Вставить, выберите команду Специальная Вставкаи нажмите кнопку формулы.

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

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

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

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

Нажмите клавишу F4, чтобы переключиться между комбинациями.

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

Excel. Перемещение формул без изменения относительных ссылок

На днях дочь обратилась с проблемой. Она построила сложную таблицу в Excel с большим числом формул, основанных на относительных ссылках, и возникла потребность скопировать эти формулы в новую область листа с сохранением ссылок на те же ячейки, что и исходные формулы (подробнее о типе ссылок см. Относительные, абсолютные и смешанные ссылки на ячейки в Excel). «Зайти» во все ячейки с формулами и изменить ссылки на абсолютные было затруднительно, так как таких ячеек было больше ста…

К сожалению, стандартные средства Excel не позволяют выполнить подобное копирование. Что вообще-то говоря, удивительно! Попробуйте, например, перенести формулу =В1+С1, хранящуюся в ячейке D1, в ячейку D4 (рис. 1). Если выполнить копирование с помощью специальной вставки и опции вставить формулы, в ячейке D4 обнаружите формулу =В4+С4.

Рис. 1. Специальная вставка; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Скачать заметку в формате Word или pdf, примеры в формате Excel

Решение пришло из моего прошлого опыта: когда я был верстальщиком, я очень широко использовал контекстные замены, и был мастером в этом искусстве.

Выделите диапазон ячеек, который хотите скопировать. В нашем примере это С4:С13 (область 1 на рис. 2), и выберите команду Главная → Найти и выделить → Заменить (область 2 на рис. 2), или нажмите Ctrl + H (английская H).

Рис. 2. Найти и заменить

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

Рис. 3. Заменить знак = на знаки &&

Во всех формулах на рабочем листе вместо знака равенства теперь стоит && (рис. 4).

Рис. 4. После замены

Скопируйте ячейки С4:С13 в требуемое место, и выполните обратную замену всех && на =. И первоначальные, и новые формулы ссылаются на одни и те же ячейки (рис. 5), причем формулы используют относительные ссылки, то есть их можно «протягивать».

Рис. 5. Формулы удалось перенести

Дополнение от 1 октября 2016

Еще один вариант решения проблемы можно найти у Джона Уокенбаха. [1] Переключите Excel в режим просмотра формул, пройдя по меню Формулы –> Зависимости формул –> Показывать формулы (рис. 6). Выделите диапазон для копирования. В данном примере – С4:С13. Скопируйте его в буфер. Откройте текстовый редактор, например, Word или Блокнот. Вставьте скопированные данные. Выделите весь текст, и снова скопируйте его в буфер. Вернитесь в Excel и активизируйте верхнюю левую ячейку диапазона, в который хотите вставить ваши формулы. Убедитесь, что лист, на который копируются данные, находится в режиме просмотра формул. Вставьте формулы. Выйдете из режима показа формул, повторно пройдя по меню пройдя по меню Формулы –> Зависимости формул –> Показывать формулы. Формулы в целевом диапазоне будут ссылаться на те же ячейки, что и в исходном.

Рис. 6. Режим Показывать формулы

Примечание. В некоторых случаях операция вставки в Excel выполняется с ошибкой и программа разбивает формулу на две и более ячейки. Если так происходит, то, возможно, недавно вы пользовались функцией Excel Текст по столбцам и приложение напоминает вам, как данные разбирались при последнем сеансе. Откройте Мастер распределения текста по столбцам и измените параметры. Выполните команду Данные –> Работа с данными –> Текст по столбцам. В диалоговом окне Мастера распределения текста по столбцам выберите С разделителями и нажмите Далее. Снимите флажки со всех вариантов разделителей, кроме варианта знак табуляции, и нажмите Отмена. После этих изменений формулы будут вставляться правильно.

[1] Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 144, 145.

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

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

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

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

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

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

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

  1. Выделяем диапазон с формулами (в нашем примере D2:D8)
  2. Жмем 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 и скопируйте туда текст вот такого макроса:

    Для запуска макроса можно воспользоваться кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8. После запуска макрос попросит вас выделить диапазон с исходными формулами и диапазон вставки и произведет точное копирование формул автоматически:

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

    Целью этого урока является научить пользователя контролировать адреса ссылок на ячейки в формулах при их копировании или перемещении.

    В зависимости от того копируется или перемещается формула в Excel, адреса ее ссылок могут существенно отличаться. Об этом нужно помнить всегда!

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

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

    Скопируйте значения столбца B (например, комбинацией клавиш CTRL+C) и вставьте их в столбец D (CTRL+V) . А потом переместите данные из столбца B в E (например, комбинацией клавиш CTRL+X).

    Теперь переключитесь в режим отображения формул – CTRL+`(Ё). Обратите внимание, как ведут себя ссылки на ячейки при перемещении и копировании.

    При перемещении (те, что в столбце E) ссылки не изменяются. А при копировании (те, что в столбце D), они смещаются автоматически.

    Копирование формул в Excel со смещением

    При копировании адреса относительных ссылок приспосабливаются к новому положению. Если ссылка была на одну ячейку влево, то она так и продолжает ссылаться, но адрес естественно меняется. Поэтому формула: =A2*1,23 стала формулой =C2*1,23. Когда мы ту же самую формулу не скопируем, а переместим, то адреса ее ссылок не изменятся, несмотря на то, что они относительные. При перемещении ссылки на ячейки ведут себя как абсолютные. Об этом следует всегда помнить пользователю Excel.

    Примечание. В разделе, посвященном формулам, будет уделено больше внимания относительным и абсолютным ссылкам. А пока отметим что по умолчанию ссылки относительные, а если в адресе присутствует символ «$» — значит ссылка абсолютная.

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

    1. Скопируйте «Лист1», например с помощью мышки+CTRL. Наведите указатель на ярлычок первого листа. Удерживая левую клавишу мышки и клавишу CTRL на клавиатуре, переместите ярлычок (копия листа) в новое место. Отпустите сначала мышку, а потом клавиатуру. У вас получился такой же лист, но уже с названием «Лист1(2)».
    2. На копии «Лист1(2)» в ячейку D2 скопируйте значение из B2, а в ячейку E2 переместите (как на предыдущем задании).
    3. Теперь скопируйте столбцы D:E из «Лист1(2)» и вставьте их в столбцы D:E из «Лист1».

    Как видите обе ячейки D2 и E2 были одинаково и одновременно скопированы, но ссылки в их формулах уже ведут себя по-разному. При копировании формул E2 значение не меняется. Все из-за того, что значения E2 из «Лист1(2)» получены путем перемещения и это уже считается для Excel иной способ присваивания адресов в формулах данной ячейки. Чтобы еще раз в этом убедиться, снова приведите табличку на «Лист1» в изначальный вид как на первом рисунке.

    На этот раз в ячейку E2 скопируйте формулу из B2, а в ячейку D2 переместите туже самую формулу.

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

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

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

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Копирование при помощи формулы excel
  • Копирование по формату word
  • Копирование по образцу excel
  • Копирование перемещение блоков в excel
  • Копирование отфильтрованных ячеек в excel vba

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии