Функциональные возможности программы Excel позволяют не только структурировать и работать с большими объемами данных, но и производить различные расчеты. Зачастую после того, как получен результат, рассчитанный по формуле, в ней больше нет необходимости, и в ячейке требуется оставить именно само значение. Более того, в некоторых случаях наличие формулы будет только мешать в последующей работе. Например, если попробовать перенести или скопировать данные из ячейки с формулой в другое место таблицы, результат вычислений будет утерян или изменится, т.к. при выполнении данной процедуры будут изменены ссылки на ячейки, указанные в формуле, за исключением тех случаев, когда вместо относительные ссылок (по умолчанию) использовались абсолютные.
В связи с этим, ниже мы рассмотрим, как удаляются формулы из ячеек таблицы Эксель с сохранением полученных в них результатов.
Содержание
- Удаление формул
- Метод 1: копируем значения с помощью параметров вставки
- Метод 2: используем специальную вставку
- Метод 3: удаляем формулы в исходной таблице
- Метод 4: удаляем формулы без копирования в другое место
- Метод 5: применяем макрос
- Метод 6: удаляем формулу вместе с результатом вычислений
- Заключение
Удаление формул
Специального инструмента, который бы помог выполнить данную процедуру, в Эксель нет. Однако решить этот вопрос можно, причем разными методами.
Метод 1: копируем значения с помощью параметров вставки
Пожалуй, это самый простой способ, пользуясь которым можно скопировать содержимое ячеек и вставить в другое место без формул. Вот, что мы делаем:
- Для начала с помощью зажатой левой кнопки мыши нужно выделить область ячеек, которую мы хотим скопировать.
- Правой кнопкой мыши щелкаем по любой точке выделенного диапазона и в открывшемся контекстном меню выбираем пункт “Копировать”. Также, можно вместо этого действия можно просто нажать сочетание клавиш Ctrl+C (после того, как выполнено выделение).Для копирования данных можно также воспользоваться кнопкой “Копировать”, которая расположена на лента программы во вкладке “Главная”.
- Переходим в ячейку, начиная с которой мы хотим вставить скопированные данные (эта ячейка станет самой верхней левой точкой диапазона данных, который мы будем вставлять из буфера обмена). Затем правой кнопкой мыши щелкаем по выбранному элементу, в появившемся меню в группе “Параметры вставки” кликаем по варианту “Значения” (значок в виде цифр “123”).
- В результате скопированная область данных (только конкретные числовые значения, без формул) будет вставлена в новое место.
Метод 2: используем специальную вставку
Если требуется скопировать-вставить данные с сохранение первоначального вида (форматирования) ячеек, можно воспользоваться “Специальной вставкой”.
- Выделяем и копируем требуемый диапазон данных. На этот раз давайте отметим всю таблицу, а для копирования используем кнопку на ленте инструментов.
- Переходим в ячейку, начиная с которой планируем вставить скопированные элементы. Щелкаем правой кнопкой мыши по ней, в раскрывшемся контекстном меню кликаем (или наводим указатель мыши) по небольшой стрелке вправо рядом с командой “Специальная вставка”. Всплывет дополнительное подменю, в котором щелкаем по пункту “Значения и исходное форматирование”.
- Мы получим исходную таблицу в новом месте с охранением форматирования и конкретными числовыми значениями вместо формул.
Метод 3: удаляем формулы в исходной таблице
Теперь давайте перейдем к удалению формул непосредственно в ячейках исходной таблицы.
- Копируем нужный диапазон ячеек любым удобным способом, например, воспользовавшись контекстным меню.
- Как и в ранее рассмотренном методе, вставляем скопированную область в новое место с сохранением исходного форматирования. После этого, не снимая выделение, копируем только что вставленные данные, например, нажав комбинацию клавиш Ctrl+C (или любым другим удобным способом).
- Переходим в самую верхнюю левую ячейку исходной таблицы (или выделяем в ней тот диапазон ячеек, который был скопирован в 1 шаге), кликом правой кнопки мыши вызываем меню, в котором выбираем вставку “Значений”.
- Теперь, когда содержимое ячеек без формул скопировано в исходное место на листе, удаляем созданные дубликаты. Для этого, выделяем нужный диапазон данных, щелкаем по нему правой кнопкой мыши и в раскрывшемся меню выбираем пункт “Удалить”.
- Появится окно удаления ячеек. Выбираем то, что нужно удалить. Исходя из нашего примера, ставим отметку напротив пункта “строку”, после чего жмем кнопку OK.Также, так как справа от выделенного диапазона нет заполненных ячеек, можно выбрать вариант – “ячейки, со сдвигом влево”.
- Задублированный диапазон данных удален. На этом работа по замене формул на конкретные значения в исходной таблице завершена.
Метод 4: удаляем формулы без копирования в другое место
Что делать, если не хочется дублировать таблицу в другом месте листа для ее последующего переноса в исходное с конкретными значениями? Такая возможность в Эксель также предусмотрена, однако, требует большой концентрации внимания, так как все действия мы будем выполнять непосредственно в самой таблице, и из-за неверных шагов можно удалить или нарушить структурную целостность данных.
- Как обычно, сперва нужно выделить область ячеек, в которых нужно удалить формулы. Затем копируем данные любым удобным способом. Проще всего это сделать, нажав на кнопку “Копировать” на ленте программы (вкладка “Главная”).
- Теперь, оставляя скопированную область выделенной, щелкаем по ней правой кнопкой мыши и в появившемся меню в группе команд “Параметры вставки” кликаем по варианту “Значения”.
- В итоге, мы в том же самом месте таблицы в выделенных ячейках вместо формул вставим конкретные значения (результаты вычислений).
Метод 5: применяем макрос
Данный метод предполагает использование макросов. Однако, прежде чем приступать, непосредственно, к самой процедуре удаления формул, необходимо включить режим Разработчика, так как по умолчанию он в программе выключен. Для этого делаем следующее:
- Щелкаем по меню “Файл”.
- В открывшемся окне в боковом перечне слева в самом низу выбираем раздел “Параметры”.
- В параметрах программы переходим в подраздел “Настроить ленту”. В правой части окна ставим галочку напротив пункта “Разработчик”, после чего щелкаем OK.
Теперь все готово, чтобы выполнить поставленную задачу:
- Переключаемся во вкладку “Разработчик”, в которой щелкаем по кнопке “Visual Basic” (группа “Код”).
- Выбрав нужный лист книги нажимаем на кнопку “View Code” (или дважды щелкаем левой кнопкой мыши по выбранному листу), чтобы запустить редактор макросов, куда вставляем код ниже, после чего закрываем данное окно.
Sub Удаление_формул()
Selection.Value = Selection.Value
End Sub - Выделяем диапазон ячеек, содержащих формулы, и нажимаем кнопку “Макросы”, которая расположена во вкладке “Разработчик” (блок инструментов “Код”).
- В открывшемся окне выбора макросов отмечаем нужный и щелкаем по кнопке “Выполнить”.
- После того, как процедура будет выполнена, все формулы в выбранных ячейках будут заменены результатами расчетов по ним.
Метод 6: удаляем формулу вместе с результатом вычислений
В некоторых ситуациях перед пользователем встает задача – не только удалить формулы в ячейках, но и результаты вычислений по ним. Данная процедура довольно простая:
- Начинаем с того, что выделяем область ячеек, содержащих формулы. Кликом правой кнопки мыши по выделенному диапазону вызываем меню, в котором щелкаем по команде “Очистить содержимое”.Также, вместо этого, после того, как нужные элементы отмечены, можно просто нажать клавишу Del (Delete) на клавиатуре.
- В итоге все данные в ячейках, в том числе, формулы будут стерты.
Заключение
Таким образом, в удалении ненужных формул из ячеек таблицы Эксель с сохранением результатов расчетов нет ничего сложного. Более того, программа позволяет выполнить эту процедуру различными способами, поэтому, каждый пользователь может выбрать для себя тот метод, который покажется наиболее удобным и эффективным.
Удаление формулы с сохранением результатов
Для этого нужно скопировать формулу, а затем вкопировать ее в ту же ячейку с помощью параметра Вировать значения.
-
Выберем ячейку или диапазон ячеек, которые содержат формулу.
Если формула является формулой массива, необходимо сначала выбрать все ячейки в диапазоне ячеек, которые содержат формулу массива:-
Щелкните ячейку в формуле массива.
-
На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.
-
Нажмите кнопку Дополнительный.
-
Выберите текущий массив.
-
-
На вкладке Главная в группе Буфер обмена нажмите кнопку Копировать .
-
На вкладке Главная в группе Буфер обмена щелкните стрелку под кнопкой , а затем выберите вкладки Значения.
Удаление формулы массива
Чтобы удалить формулу массива, выберите все ячейки в диапазоне ячеек, которые содержат формулу массива. Для этого:
-
Щелкните ячейку в формуле массива.
-
На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.
-
Нажмите кнопку Дополнительный.
-
Выберите текущий массив.
-
Нажмите клавишу DELETE.
Удаление формулы с сохранением результатов
-
Выберем ячейку или диапазон ячеек, которые содержат формулу.
-
Щелкните Главная > Копировать (или нажмите CTRL+C).
-
Щелкните главная > под кнопкой В >в таблице.
- Удалить формулы и сохранить данные
- С помощью мыши
- С помощью клавиатуры (сочетания клавиш)
- Перевод формул в их текст (без сохранения результирующих значений)
- В видимых ячейках, пропуская скрытые фильтром
- Удалить формулы на листе / во всех листах
- Удаление формул надстройкой !SEMTools
Удалить формулы в Excel можно множеством способов, каждый из которых сильно зависит от поставленной задачи. Как правило, при этом требуется сохранить в ячейках какие-то значения. Вариантов два:
- это значения, вычисленные этими формулами,
- сам текст формул.
Помимо вопроса о том, что оставить в ячейках после удаления формул, могут быть и другие вводные, такие как:
- Где удалять формулы:
- в диапазоне,
- во всем листе,
- во всей книге.
- Нужно ли удалять формулы в скрытых/отфильтрованных строках.
Эта статья даст ответы на все вопросы выше.
Удалить формулы и сохранить данные
Наиболее распространенная задача — когда нужно оставить в ячейке результат формулы, а саму формулу удалить. В понимании Excel результат формулы является значением ячейки.
Так вот, чтобы перевести формулы в значения, нужно:
- Выделить нужный диапазон ячеек (или одну ячейку, всю строку, столбец или весь лист).
- Скопировать выделенное.
- Вставить процедурой вставки “как значения”.
Можно сделать это клавишами мыши или клавиатуры — суть процедуры от этого не меняется.
С помощью мыши
Не самый быстрый (так как работает только одна рука), но самый удобный и понятный способ. Выделяем, копируем и в контекстном меню (вызывается нажатием правой кнопки мыши по выделенному диапазону) команду со скриншота:
С помощью клавиатуры (сочетания клавиш)
Копирование делается в соседний столбец или другую книгу. Я предпочитаю этот способ, хоть он и экономит лишь секунды.
Пошагово:
- Выделяем диапазон:
- мышью, если это столбец, строка или лист,
- сочетаниями Ctrl + Shift + стрелки или Shift + стрелки, если ячейки или диапазоны ячеек.
- Копируем сочетанием Ctrl + C.
- Перемещаемся стрелками к диапазону, куда нужно вставить данные, и/или нажимаем Ctrl + Tab для перехода в другую книгу.
- Вызываем контекстное меню клавишей на клавиатуре. Иногда ее нет, но обычно на клавиатурах она расположена рядом с правым Alt.
- Стрелками перемещаемся к команде (Вниз-вниз-вправо).
- Нажимаем Enter.
Может показаться, что тут целых 6 шагов и это долго, но попробуйте приловчиться и сравнить работу на больших диапазонах ячеек — мышью будет точно дольше.
Перевод формул в их текст (без сохранения результирующих значений)
Иногда требуется для демонстрационных целей преобразовать ячейки, оставив текст формул. В таких случаях полезной будет процедура замены.
В видимых ячейках, пропуская скрытые фильтром
Вот здесь при использовании стандартных решений уже могут возникнуть проблемы. Процедура вставки “как значения” даст сбой и повредит данные, если в копируемом диапазоне есть отфильтрованные строки.
Вот код VBA-процедуры, который позволяет обойти проблему:
Sub remFormulas()
Dim cell As Range
For Each cell In Selection
If Not (cell.EntireRow.Hidden = True Or cell.EntireColumn.Hidden = True) Then
cell.Value2 = cell.Value2
End If
Next cell
End Sub
Он отработает на отлично, как и та же процедура надстройки. В синтаксисе кода присутствует проверка ячеек на предмет того, скрыты ли они.
Удалить формулы на листе / во всех листах
Когда нужно быстро избавиться от всех формул на листе или во всей книге, также могут помочь соответствующие простенькие процедуры, написанные на VBA:
Sub удалитьФормулыСоВсегоЛиста()
ActiveSheet.UsedRange.Value2 = ActiveSheet.UsedRange.Value2
End Sub
Sub удалитьФормулыИзВсейКниги()
Dim w As Worksheet
For Each w In Worksheets
With w.UsedRange
.Value = .Value
End With
Next w
End Sub
Ими можно воспользоваться без внедрения в свои файлы, подключив надстройку !SEMTools.
Удаление формул надстройкой !SEMTools
Быструю замену формул на значения в выделенном диапазоне без необходимости копирования и особой вставки я реализовал в своей надстройке для Excel !SEMTools.
Для тех, кто не готов разбираться в VBA, после установки !SEMTools запуск процедуры доступен в два клика из соответствующего меню в группе «УДАЛИТЬ». Функционал относится к бесплатным возможностям !SEMTools (работают без ограничений в любой версии).
Хотите так же быстро удалять формулы в Excel?
!SEMTools ускорит эту и сотни других задач!
Хитрости »
12 Май 2011 363940 просмотров
Как удалить в ячейке формулу, оставив значения?
Иногда формула в ячейке нужна лишь на короткое время — только для получения результата. А затем уже не нужна ни сама формула, ни ячейки, на которые она ссылается. Но вот беда — если удалить ячейки, то формула «ломается», как это говорится. Т.е. в ячейке получается либо #ЗНАЧ! либо #ССЫЛКА!. Или Вам надо просто зафиксировать значение, полученное в результате работы формулы. Т.е. чтобы формулы там не было, а было только значение. Как ни странно, но делается это проще простого:
Выделяете ячейку/несколько ячеек с формулами — Копируете — Правая кнопка мыши — Специальная вставка — Значения
Вот и все. Больше формул нет.
Так же подобное можно сделать при помощи кода VBA:
Sub Formulas_To_Values() Selection.Value = Selection.Value End Sub
Для использования кода переходим в редактор VBA(Alt+F11) —Insert —Module и вставляем приведенный код. Чтобы выполнить код надо на листе нажать сочетание клавиш Alt+F8, выбрать нужный код и нажать Выполнить
Данный код заменяет формулы в выделенном диапазоне на значения. Только необходимо учитывать, что выделенный диапазон должен быть неразрывным. Иначе код выдаст ошибку. А такой код
Sub All_Formulas_To_Values() ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value End Sub
заменит все формулы на листе в значения. При этом будут разорваны все связи на данном листе. Это стоит учитывать. Кстати, иногда именно для этого и применяют подобный код.
И в качестве бонуса ниже приведен код, который заменит все формулы на всех листах активной книги в значения:
Sub All_Formulas_To_Values_In_All_Sheets() Dim wsSh As Worksheet For Each wsSh In Sheets 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
КАК БЫСТРО ВЫЗЫВАТЬ:
Вообще данную команду можно вывести на Быструю панель и использовать в одно нажатие тогда, когда нужно.
- 2010 Excel Файл— Параметры— Настройка. Выбрать команды из: Все команды. Находите команду Вставить значения и добавляете;
- 2007 Excel Меню— Параметры Excel— Настройка. Выбрать команды из: Все команды. Находите команду Вставить значения и добавляете;
- 2003 Excel: Сервис— Настройка— вкладка Команды— категория Правка— Вставить значения.
Теперь у Вас появится значок на Быстрой панели.
ДОБАВИТЬ В КОНТЕКСТНОЕ МЕНЮ ЯЧЕЕК:
Если один раз выполнить код:
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
то в контекстном меню мыши появится команда — «Вставить значения». Она полностью дублирует стандартную, только вызвать её быстрее — одно нажатие и все.
Также см.:
Вставить значения
Формулы перестали считать — как исправить?
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
При работе с Excel-таблицами пользователи часто прибегают к различным функциям, которые являются динамическими. Они связаны с несколькими ячейками и выводят результат, отталкиваясь непосредственно от текущих данных. Однако иногда от такой динамики нужно избавиться, оставив только текущее статическое значение.
В рамках этой статьи я расскажу о двух способах, которые помогут реализовать это, выполнив минимальное количество действий.
Для чего нужно удаление функций
Краткая информация о том, когда вообще может понадобиться осуществление рассматриваемого действия. Например, вы закончили определенные расчеты и получили число, с которым нужно в дальнейшем взаимодействовать. Однако может возникнуть ситуация, когда в одной из связанных ячеек появятся изменения, что приведет к изменению и финального числа. Это помешает использовать его старое значение и может привести к тому, что вы его просто потеряете и не вспомните.
Можно удалить формулу, которая отвечает за перерасчет, оставив только текущее число. Это не вызовет проблем с его последующим использованием и вы можете быть уверены в том, что изначальное значение не поменяется. Как уже было сказано выше, удаляется функция двумя разными методами, которые показаны далее.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Вариант 1: Вставка с заменой
Начнем с первого, самого распространенного метода. Он заключается в копировании данных в ячейках с дальнейшей вставкой в те же самые клетки, но как обычного значения. Это приведет к замене старых значений, обеспечив удаление функции с сохранением текущего числа. Вам достаточно выполнить следующие действия:
-
Зажмите левую кнопку мыши, выделите все необходимые ячейки и используйте комбинацию Ctrl+C для копирования.
-
После этого не снимайте выделение, а кликните по одной из клеток правой кнопкой мыши. На следующем скриншоте вы видите, какой вариант специальной вставки нужно выбрать.
-
Обратите внимание на то, что теперь в ячейке отображается только число без старой формулы – цель достигнута.
Вариант 2: Опция «Копировать только значения»
В рамках этого варианта сохранение значений произойдет тоже с их копированием и вставкой, однако для этого не придется использовать горячие клавиши, поскольку весь алгоритм заключается в переносе ячеек в другое место с последующим возвращением в предыдущее. Таким образом, удалится старая формула и сохранятся только числа.
-
Выделите весь диапазон данных с зажатой левой кнопкой мыши.
-
Зажмите правый край клетки правой кнопкой мыши и передвиньте его вправо, чтобы на экране появился зеленый прямоугольник.
-
Не отпускайте кнопку мыши и сразу же передвиньте этот прямоугольник в изначальное положение. Отпустите ПКМ и из появившегося контекстного меню выберите пункт «Копировать только значения».
-
Вы достигли того же самого результата, удалив формулы и сохранив значения, однако выполнили немного другие действия.
Теперь решайте сами, какой из этих вариантов вам больше подходит. Используйте их для удаления функций и не забывайте о том, что всегда можно осуществить те же самые операции без мыши, обратившись к горячим клавишам, полное описание которых есть в официальной документации Excel от Microsoft.