Замена формулы на ее результат
Можно преобразовать содержимое ячейки, содержащей формулу, чтобы вычисляемое значение заменило формулу. Если вы хотите заморозить только часть формулы, можно заменить только часть, которую вы не хотите пересчитывать. Замена формулы ее результатом может быть полезной, если в книге много или сложных формул, и вы хотите повысить производительность путем создания статических данных.
Формулы можно преобразовывать в значения по ячейкам или одновременно преобразовывать весь диапазон.
Важно: Обязательно проверьте влияние замены формулы ее результатами, особенно если формулы ссылаются на другие ячейки, содержащие формулы. Перед заменой формулы ее результатом рекомендуется создать резервную копию книги.
В этой статье не рассматриваются параметры и методы вычислений. Сведения о том, как включить или отключить автоматический пересчет для листа, см. в статье Изменение пересчета формулы, итерации или точности.
Замените формулы их вычисляемыми значениями
При замене формул их значениями Excel окончательно удаляет формулы. Если вы случайно заменили формулу значением и хотите восстановить формулу, нажмите кнопку Отменить
сразу после ввода или вставки значения.
- Выберите ячейку или диапазон ячеек, содержащих формулы. Если формула является формула массива, выделите диапазон ячеек, содержащих формулу массива. Выбор диапазона, содержащего формулу массива
- Щелкните ячейку в формуле массива.
- На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.
- Нажмите кнопку Дополнительный.
- Щелкните Текущий массив.
В следующем примере показана формула в ячейке D2, которая умножает ячейки A2, B2 и скидку, полученную из C2, для расчета суммы счета за продажу. Чтобы скопировать фактическое значение вместо формулы из ячейки на другой лист или книгу, можно преобразовать формулу в ячейке в ее значение, выполнив следующие действия:
- Нажмите клавишу F2, чтобы изменить ячейку.
- Нажмите клавишу F9, а затем нажмите клавишу ВВОД.
После преобразования ячейки из формулы в значение в строке формул будет отображаться значение 1932,322. Обратите внимание, что 1932,322 является фактическим вычисляемым значением, а 1932,32 — значением, отображаемым в ячейке в формате валюты.
Совет: При редактировании ячейки, содержащей формулу, можно нажать клавишу F9, чтобы окончательно заменить формулу вычисляемым значением.
Замена части формулы значением, полученным при ее вычислении
Иногда требуется заменить только часть формулы вычисляемым значением. Например, необходимо заблокировать значение, которое используется в качестве авансового платежа по кредиту на автомобиль. Этот первоначальный взнос был рассчитан на основе процента от годового дохода заемщика. В настоящее время эта сумма дохода не изменится, поэтому вы хотите заблокировать первый взнос в формуле, которая вычисляет платеж на основе различных сумм кредита.
При замене части формулы ее значением эта часть формулы не может быть восстановлена.
- Щелкните ячейку, содержащую формулу.
- В строка формул
В Excel в Интернете результаты уже отображаются в ячейке книги, а формула отображается только в строке формул
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Удаление формул
При удалении формулы также удаляется результат формулы. Если вы не хотите удалять значение, вместо этого можно удалить только формулу.
Удаление формулы
- Выберите ячейку или диапазон ячеек, содержащих формулу.
- Нажмите клавишу DELETE.
Удаление формулы, но сохранение результатов
Для этого нужно скопировать формулу, а затем вставить в ту же ячейку с помощью параметра Вставить значения.
- Выберите ячейку или диапазон ячеек, содержащих формулу.
Если формула является формулой массива, необходимо сначала выделить все ячейки в диапазоне ячеек, содержащих формулу массива:- Щелкните ячейку в формуле массива.
- На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.
- Нажмите кнопку Дополнительный.
- Щелкните Текущий массив.
Удаление формулы массива
Чтобы удалить формулу массива, выделите все ячейки в диапазоне ячеек, содержащих формулу массива. Для этого:
- Щелкните ячейку в формуле массива.
- На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.
- Нажмите кнопку Дополнительный.
- Щелкните Текущий массив.
- Нажмите клавишу DELETE.
Удаление формулы, но сохранение результатов
- Выберите ячейку или диапазон ячеек, содержащих формулу.
- Щелкните Главная >Копировать (или нажмите клавиши CTRL+C).
Нажмите кнопку Главная > стрелку под кнопкой Вставить >Вставить значения.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Как в эксель оставить только значения без формул
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ruИспользование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071Как удалить в ячейке формулу, оставив значения?
Иногда формула в ячейке нужна лишь на короткое время — только для получения результата. А затем уже не нужна ни сама формула, ни ячейки, на которые она ссылается. Но вот беда — если удалить ячейки, то формула «ломается», как это говорится. Т.е. в ячейке получается либо #ЗНАЧ! либо #ССЫЛКА! . А иногда необходимо просто зафиксировать значение, полученное в результате работы формулы. Т.е. чтобы формулы там не было, а было только значение. Как ни странно, но делается это проще простого:
Выделяем ячейку(несколько ячеек) с формулами -Копируем -Правая кнопка мыши — Специальная вставка (Paste Special) —Значения (Values) .КАК БЫСТРО ВЫЗЫВАТЬ СПЕЦИАЛЬНУЮ ВСТАВКУ ЗНАЧЕНИЙ:
Данную команду можно вынести на Панель быстрого доступа и использовать в одно нажатие тогда, когда нужно. Как это сделать:- 2010 Excel и вышеФайл— Параметры— Настройка. В выпадающем списке Выбрать команды из: выбираем Все команды. Находим команду Вставить значения и добавляем
- 2007 ExcelМеню— Параметры Excel— Настройка. В выпадающем списке Выбрать команды из: выбираем Все команды. Находим команду Вставить значения и добавляем
- 2003 Excel: Сервис— Настройка— вкладка Команды— категория Правка— Вставить значения.
Теперь в Панели быстрого доступа появится значок Вставка значений.
Вставка значений при помощи кода на Visual Basic for Application
Тоже самое можно сделать при помощи кода VBA:Sub Formulas_To_Values() Selection.Value = Selection.Value End Sub
Sub Formulas_To_Values() Selection.Value = Selection.Value End Sub
Как использовать: Для начала надо убедиться, что разрешены макросы и при необходимости включить их: почему не работает макрос. Затем копируем код выше, из Excel переходим в редактор VBA( Alt + F11 ) —Insert —Module. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш Alt + F8 -выделяем Formulas_To_Values —Выполнить (Run) .
Данный код заменяет формулы в выделенном диапазоне на значения. Только необходимо учитывать, что выделенный диапазон должен быть неразрывным. Иначе код выдаст ошибку. А такой код:Sub All_Formulas_To_Values() ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value End Sub
Sub All_Formulas_To_Values() ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value End Sub
заменит все формулы на значения во всех ячейках листа. При этом будут разорваны все связи на данном листе. Так же этот код заменит все формулы даже если на листе применен фильтр(т.е. замена будет и в скрытых фильтром ячейках). Это стоит учитывать. Кстати, иногда именно для этого и применяют подобный код.
Так же следует помнить, что после выполнения практически любого макроса буфер обмена Excel очищается и отменить действие макроса невозможно. Поэтому все действия и «испытания» лучше производить на копиях данных. Но если все же заменили на рабочем файле — можно попробовать закрыть книгу без сохранений.А следующий код заменит формулы на значения во всех ячейках на всех листах активной книги:
Sub All_Formulas_To_Values_In_All_Sheets() Dim wsSh As Worksheet For Each wsSh In Worksheets wsSh.UsedRange.Value = wsSh.UsedRange.Value Next wsSh End Sub
Sub All_Formulas_To_Values_In_All_Sheets() Dim wsSh As Worksheet For Each wsSh In Worksheets wsSh.UsedRange.Value = wsSh.UsedRange.Value Next wsSh End Sub
У этого кода нюансы со связями и скрытыми ячейками точно такие же, как и у предыдущего, но уже в масштабах всех листов книги. Плюс, даже если какие-то листы скрыты — замена будет произведена и на них тоже.
А вот код ниже более интересен с точки зрения повседневного использования: он заменить формулы на значения только в видимых ячейках выделенного диапазона. Может пригодиться, если заменить надо формулы при установленном фильтре или в несмежных областях:
Sub All_Formulas_To_Values_OnlyVisible() Dim rRng As Range, rArea As Range If Selection.Count = 1 Then Set rRng = ActiveCell Else Set rRng = Selection.SpecialCells(12) End If For Each rArea In rRng.Areas rArea.Value = rArea.Value Next rArea End Sub
Sub All_Formulas_To_Values_OnlyVisible() Dim rRng As Range, rArea As Range If Selection.Count = 1 Then Set rRng = ActiveCell Else Set rRng = Selection.SpecialCells(12) End If For Each rArea In rRng.Areas rArea.Value = rArea.Value Next rArea End Sub
ДОБАВИТЬ КОМАНДУ «ВСТАВИТЬ ЗНАЧЕНИЯ» В КОНТЕКСТНОЕ МЕНЮ:
Если один раз выполнить код ниже, то в контекстном меню по правому клику мыши появится стандартная команда Вставить значения (Insert Values) . Она полностью дублирует стандартную, только вызвать её быстрее — одно нажатие и все.:Sub Add_PasteSpecials() Dim cbb Set cbb = Application.CommandBars("Cell").FindControl(ID:=370) If Not cbb Is Nothing Then cbb.Delete 'удаляем пункт, если он был уже добавлен ранее Application.CommandBars("Cell").Controls.Add ID:=370, before:=4 End Sub
Sub Add_PasteSpecials() Dim cbb Set cbb = Application.CommandBars(«Cell»).FindControl(ID:=370) If Not cbb Is Nothing Then cbb.Delete ‘удаляем пункт, если он был уже добавлен ранее Application.CommandBars(«Cell»).Controls.Add ID:=370, before:=4 End Sub
Статья помогла? Поделись ссылкой с друзьями!