Excel сохранить значение функции

Skip to content

Как правильно сохранить и применять пользовательскую функцию Excel

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

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

Вот о чем мы будем говорить:

  • Совместное использование с другими функциями
  • Применение в других функциях и макросах VBA
  • Как вызвать функцию из другой книги
  • Использование файла надстройки (рекомендуется)

Использование с другими функциями

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

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

=GetMaxBetween(A1:A6;10;50)

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

=СЦЕПИТЬ(«Максимальное значение между 10 и 50 –  «;GetMaxBetween(A1:A6;10;50))

Результат вы видите на скриншоте ниже:

Можно найти товар, количество которого максимальное  и находится в диапазоне от 40 до 50.

В формуле

=ИНДЕКС(A2:A9;ПОИСКПОЗ(GetMaxBetween(B2:B9;F1;F2);B2:B9;0))

пользовательская функция GetMaxBetween находит в диапазоне B2:B9 максимальное число между 40 и 50. Затем при помощи функций ИНДЕКС+ПОИСК мы получаем название товара, которое соответствует этому максимальному значению:

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

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

Применение в других функциях и процедурах VBA

Пользовательские функции также можно использовать в макросах VBA.

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

Код макроса содержит пользовательскую функцию GetMaxBetween(.Cells, 10, 50). Она находит нужное максимальное значение в активном столбце. Затем это значение будет выделено цветом.

Результат работы макроса вы видите на скриншоте ниже.

Также пользовательская функция может быть использована внутри другой пользовательской функции. Проблема конвертации числа в текст обычно решается при помощи пользовательской функции. Функция SpellNumber отлично выполняет эту задачу, добавляя также денежные единицы измерения (рубли). Вот код этого макроса:

Public Function SpellNumber(x As Double) As String
If x > 999999999999.99 Then
SpellNumber = "Число больше 999 999 999 999.99!"
ElseIf x < 0 Then
SpellNumber = "Отрицательное число!"
Else
x = FormatNumber(x, 2)
Dim b As Byte, b1 As Byte, b2 As Byte, kop As String
b = (x - Fix(x)) * 100
b2 = b  10
b1 = b Mod 10
If b2 <> 1 And b1 = 1 Then
kop = " копейка"
ElseIf b2 <> 1 And b1 > 1 And b1 < 5 Then
kop = " копейки"
Else
kop = " копеек"
End If
kop = b2 & b1 & kop
Dim y(1 To 4) As Integer, i1 As Byte
For i1 = 1 To 4
x = Fix(x) / 1000
y(i1) = (x - Fix(x)) * 1000
Next
Dim Numeric(1 To 4) As String, i2 As Byte, y1 As Byte, y2 As Byte, _
y3 As Byte, Numeric0 As String, Numeric1 As String, Numeric2 As String, Numeric3 As String, _
Numeric4 As String
For i2 = 1 To 4
y1 = y(i2) Mod 10
y2 = (y(i2) - y1) / 10 Mod 10
y3 = y(i2)  100
Numeric1 = Choose(y3 + 1, "", "сто ", "двести ", "триста ", "четыреста ", _
"пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
Numeric2 = Choose(y2 + 1, "", "", "двадцать ", "тридцать ", "сорок ", _
"пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
If y2 = 1 Then
Numeric3 = Choose(y1 + 1, "десять ", "одиннадцать ", "двенадцать ", _
"тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", _
"семнадцать ", "восемнадцать ", "девятнадцать ")
ElseIf y2 <> 1 And i2 = 2 Then
Numeric3 = Choose(y1 + 1, "", "одна ", "две ", "три ", "четыре ", "пять ", _
"шесть ", "семь ", "восемь ", "девять ")
Else
Numeric3 = Choose(y1 + 1, "", "один ", "два ", "три ", "четыре ", "пять ", _
"шесть ", "семь ", "восемь ", "девять ")
End If
If y2 <> 1 And y1 = 1 Then
Numeric4 = Choose(i2, "рубль ", "тысяча ", "миллион ", "миллиард ")
ElseIf y2 <> 1 And y1 > 1 And y1 < 5 Then
Numeric4 = Choose(i2, "рубля ", "тысячи ", "миллиона ", "миллиарда ")
ElseIf y1 = 0 And y2 = 0 And y3 = 0 Then
Numeric4 = Choose(i2, "рублей ", "", "", "")
Else
Numeric4 = Choose(i2, "рублей ", "тысяч ", "миллионов ", "миллиардов ")
End If
Numeric(i2) = Numeric1 & Numeric2 & Numeric3 & Numeric4
Next
If y(1) + y(2) + y(3) + y(4) = 0 Then
Numeric0 = "ноль рублей " & kop
Else
Numeric0 = Numeric(4) & Numeric(3) & Numeric(2) & Numeric(1) & kop
End If
SpellNumber = Replace(Numeric0, Left(Numeric0, 1), UCase(Left(Numeric0, 1)), 1, 1)
End If
End Function

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

Для этого создадим новую пользовательскую функцию, в которой используем уже знакомые нам функции GetMaxBetween и SpellNumber.

Function SpellGetMaxBetween(rngCells As Range, MinNum, MaxNum)
       SpellGetMaxBetween = SpellNumber(GetMaxBetween(rngCells, MinNum, MaxNum))
End Function

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

На скриншоте выше вы видите, как функция SpellGetMaxBetween находит максимальное число в диапазоне от 5000 до 7000, а затем конвертирует его в текст.

Как вызвать пользовательскую функцию из другой книги

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

По моему опыту, большинство пользователей рано или поздно собирают свою личную коллекцию макросов и пользовательских функций для автоматизации отдельных процессов и расчётов. И тут встает проблема: код пользовательских функций на Visual Basic нужно где-то хранить, чтобы потом использовать в работе.

Чтобы применить пользовательскую функцию, рабочая книга, в которой вы ее сохранили, должна быть открыта в вашем Excel. Если вы это не сделали, то при попытке использования вы получите ошибку #ИМЯ!. Эта ошибка говорит о том, что Excel не знает имени функции, которую вы хотите употребить в формуле.

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

Способ 1.

Вы можете перед именем функции указать имя книги, в которой она находится. Например, если вы сохранили пользовательскую функцию GetMaxBetween в книге с именем My_Functions.xlsm, то необходимо ввести такую формулу:

= My_Functions.xlsm!GetMaxBetween(A1:A6;10;50)

Способ 2.

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

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

  • Если рабочих файлов много, а функция нужна везде, то и копировать код придется в каждую книгу.
  • Нужно не забыть сохранить рабочую книгу в формате с поддержкой макросов (xlsm или xlsb).
  • При открытии такого файла защита от макросов будет каждый раз показывать предупреждение, которое нужно подтвердить. Многие пользователи пугаются, видя предупреждение на жёлтой полосе, которое просит их включить макросы. Чтобы не видеть это сообщение, вам нужно отключить защиту Excel полностью. Это может быть не всегда правильно и безопасно.

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

Способ 3.

Думаю, что самый лучший способ – хранить часто используемые пользовательские функции в файле надстройки (Excel Add-in).

Достоинства использования надстройки:

  • Достаточно один раз подключить надстройку в ваш Excel. После этого можно использовать её процедуры и функции в любом файле на этом компьютере. Сохранять ваши рабочие книги в xlsm- и xlsb-формате не потребуется, так как исходный код будет храниться не в них, а в файле надстройки.
  • Защита от макросов вас беспокоить уже не будет, так как надстройки всегда относятся к доверенным источникам. Она будет автоматически загружаться при каждом запуске Excel практически незаметно для вас.
  • Надстройка ­– это отдельный файл. Его легко переносить с компьютера на компьютер, делиться им с коллегами.

О создании и использовании надстройки мы подробнее поговорим далее.

Сохранение пользовательских функций в файле надстройки

Как создать собственную надстройку? Рассмотрим пошагово.

Шаг 1. Создаем файл надстройки.

Открываем Microsoft Excel, создаем новую книгу и сохраняем ее под любым подходящим именем (например My_Functions) в формате надстройки. Для этого используем меню Файл – Сохранить как или клавишу F12. Обязательно указываем тип файла Надстройка Excel:

Ваша надстройка будет иметь расширение .xlam.

Обратите внимание, что стандартно Excel хранит надстройки в папке C:Users[Ваше_имя]AppDataRoamingMicrosoftAddIns. Советую принять расположение по умолчанию. Вы можете указать любую другую папку. Но тогда при подключении надстройки вам нужно будет найти и указать ее новое расположение вручную. Если вы сохраните ее в папке по умолчанию, вам не придется искать надстройку на своем компьютере. Excel автоматически внесет ее в список.

Шаг 2. Подключаем файл надстройки.

Теперь созданную нами надстройку My_Functions надо подключить к Excel. Тогда она будет загружаться автоматически при старте программы. Для этого используем меню Файл — Параметры — Надстройки. Убедитесь, что внизу в поле Управление выбраны Надстройки Excel. Жмем на кнопку Перейти в нижней части окна. В появившемся окне отмечаем нашу надстройку My_Functions. Если вы не видите ее в списке, нажмите кнопку Просмотр и укажите расположение вашего файла надстройки вручную.

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

Шаг 3. Добавляем в надстройку пользовательские функции и макросы.

Наша надстройка подключена к Excel, но в ней пока нет ничего. Чтобы добавить в нее новые пользовательские функции, откройте редактор Visual Basic при помощи сочетания клавиш Alt+F11. После этого вы можете добавлять новые модули с кодом VBA, как описано в этом руководстве.

Выберите в окне VBAProject ваш файл надстройки (My Finctions.xlam). Используйте меню Insert – Module, чтобы добавить пользовательский модуль. В него нужно записывать пользовательские функции.

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

Вот и все. Теперь вы создали свою собственную надстройку, загрузили ее в Excel и можете использовать в ней макросы и настраиваемые функции. Чтобы добавить новый макрос, просто запишите его код в модуле надстройки в редакторе VBA и сохраните его.

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

Сумма по цвету и подсчёт по цвету в Excel В этой статье вы узнаете, как посчитать ячейки по цвету и получить сумму по цвету ячеек в Excel. Эти решения работают как для окрашенных вручную, так и с условным форматированием. Если…
Проверка данных с помощью регулярных выражений В этом руководстве показано, как выполнять проверку данных в Excel с помощью регулярных выражений и пользовательской функции RegexMatch. Когда дело доходит до ограничения пользовательского ввода на листах Excel, проверка данных очень полезна. Хотите…
Поиск и замена в Excel с помощью регулярных выражений В этом руководстве показано, как быстро добавить пользовательскую функцию в свои рабочие книги, чтобы вы могли использовать регулярные выражения для замены текстовых строк в Excel. Когда дело доходит до замены…
Как извлечь строку из текста при помощи регулярных выражений В этом руководстве вы узнаете, как использовать регулярные выражения в Excel для поиска и извлечения части текста, соответствующего заданному шаблону. Microsoft Excel предоставляет ряд функций для извлечения текста из ячеек. Эти функции…
4 способа отладки пользовательской функции Как правильно создавать пользовательские функции и где нужно размещать их код, мы подробно рассмотрели ранее в этой статье.  Чтобы решить проблемы при создании пользовательской функции, вам скорее всего придется выполнить…
Как создать пользовательскую функцию? В решении многих задач обычные функции Excel не всегда могут помочь. Если существующих функций недостаточно, Excel позволяет добавить новые настраиваемые пользовательские функции (UDF). Они делают вашу работу легче. Мы расскажем,…

Содержание

  1. Замена формулы на ее результат
  2. Замена формул вычисляемой величиной
  3. Замена части формулы значением, полученным при ее вычислении
  4. Дополнительные сведения
  5. Как преобразовать формулы в значения в Excel
  6. Преобразование формул в значения в Excel
  7. Использование сочетания клавиш
  8. Использование специальной вставки
  9. Использование трюка с покачиванием мыши
  10. Как удалить функцию, оставив значение в Excel
  11. Для чего нужно удаление функций
  12. Вариант 1: Вставка с заменой
  13. Вариант 2: Опция «Копировать только значения»
  14. Преобразование формул в значения
  15. Способ 1. Классический
  16. Способ 2. Только клавишами без мыши
  17. Способ 3. Только мышью без клавиш или Ловкость Рук
  18. Способ 4. Кнопка для вставки значений на Панели быстрого доступа
  19. Способ 5. Макросы для выделенного диапазона, целого листа или всей книги сразу
  20. Способ 6. Для ленивых

Замена формулы на ее результат

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

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

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

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

Замена формул вычисляемой величиной

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

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

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

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

Щелкните ячейку в формуле массива.

На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.

Нажмите кнопку Дополнительный.

Щелкните Текущий массив.

Нажмите кнопку Копировать .

Нажмите кнопку В .

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

В следующем примере показана формула в ячейке D2, которая умножает ячейки A2, B2 и скидку из ячейки C2 для расчета суммы счета для продажи. Чтобы скопировать фактическое значение вместо формулы из ячейки на другой книгу или на другой, можно преобразовать формулу в ячейку в ее значение, выстроив следующее:

Нажмите F2, чтобы изменить ячейку.

Нажмите F9, а затем ввод.

После преобразования ячейки из формулы в значение в области формул отображается значение 1932,322. Обратите внимание, что 1932,322 — фактическое вычисляемого значения, а 1932,32 — значение, отображаемого в ячейке в валютном формате.

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

Замена части формулы значением, полученным при ее вычислении

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

При замене части формулы ее значением ее часть восстановить невозможно.

Щелкните ячейку с формулой.

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

Чтобы вычислить выбранную часть, нажмите F9.

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

В Excel в Интернете результаты уже отображаются в ячейке книги, а формула отображается только в .

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Источник

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

Посмотреть видео — преобразование формул в значения (удалить формулы, но сохранить данные)

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

Например, если вы используете функцию Excel СЕГОДНЯ для вставки текущей даты в ячейку и оставляете ее как формулу, она обновится, если вы откроете книгу на следующий день. Если это не то, что вам нужно, вам нужно преобразовать формулу в статическое значение.

Преобразование формул в значения в Excel

В этом уроке я покажу вам различные способы преобразования формул в значения в Excel.

  • Использование сочетания клавиш.
  • Использование специальной техники вставки.
  • Использование классного трюка с маневром мышки.

Использование сочетания клавиш

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

Вот как это сделать:

  • Выделите ячейки, для которых вы хотите преобразовать формулы в значения.
  • Скопируйте ячейки (Ctrl + C).
  • Вставить как значения — Сочетание клавиш — ALT + ESV

Это мгновенно преобразует все формулы в статические значения.

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

Использование специальной вставки

Если вы не являетесь поклонником сочетаний клавиш, вы можете использовать специальную опцию вставки, доступ к которой можно получить с ленты в Excel.

Вот шаги для преобразования формул в значения с помощью специальной вставки:

  • Выделите ячейки, для которых вы хотите преобразовать формулы в значения.
  • Скопируйте ячейки (Ctrl + C).
  • Перейдите на главную -> Буфер обмена -> Вставить -> Специальная вставка.

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

Использование трюка с покачиванием мыши

Это одна уловка с мышью, о которой не многие люди знают.

  • Выделите ячейки, для которых вы хотите преобразовать формулы в значения.
  • Наведите курсор мыши на контур выбранных ячеек. (Вы увидите значок с четырьмя стрелками, указывающими в четырех направлениях).
  • Нажмите ПРАВУЮ кнопку мыши. Удерживая кнопку, перетащите контур вправо и верните его в исходное положение. Как только вы оставите кнопку мыши, появится меню.
  • Щелкните Копировать здесь только как значения.
  • Вот и все. Он мгновенно преобразует формулы в значения в выбранных ячейках.

Надеюсь, вы нашли этот урок полезным.

Сообщите мне свои мысли в разделе комментариев.

Источник

Как удалить функцию, оставив значение в Excel

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

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

Для чего нужно удаление функций

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

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

Вариант 1: Вставка с заменой

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

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

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

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

Вариант 2: Опция «Копировать только значения»

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

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

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

Не отпускайте кнопку мыши и сразу же передвиньте этот прямоугольник в изначальное положение. Отпустите ПКМ и из появившегося контекстного меню выберите пункт «Копировать только значения».

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

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

Источник

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

Формулы – это хорошо. Они автоматически пересчитываются при любом изменении исходных данных, превращая Excel из «калькулятора-переростка» в мощную автоматизированную систему обработки поступающих данных. Они позволяют выполнять сложные вычисления с хитрой логикой и структурой. Но иногда возникают ситуации, когда лучше бы вместо формул в ячейках остались значения. Например:

  • Вы хотите зафиксировать цифры в вашем отчете на текущую дату.
  • Вы не хотите, чтобы клиент увидел формулы, по которым вы рассчитывали для него стоимость проекта (а то поймет, что вы заложили 300% маржи на всякий случай).
  • Ваш файл содержит такое больше количество формул, что Excel начал жутко тормозить при любых, даже самых простых изменениях в нем, т.к. постоянно их пересчитывает (хотя, честности ради, надо сказать, что это можно решить временным отключением автоматических вычислений на вкладке Формулы – Параметры вычислений).
  • Вы хотите скопировать диапазон с данными из одного места в другое, но при копировании «сползут» все ссылки в формулах.

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

Способ 1. Классический

Этот способ прост, известен большинству пользователей и заключается в использовании специальной вставки:

  1. Выделите диапазон с формулами, которые нужно заменить на значения.
  2. Скопируйте его правой кнопкой мыши – Копировать(Copy) .
  3. Щелкните правой кнопкой мыши по выделенным ячейкам и выберите либо значок Значения (Values) :


либо наведитесь мышью на команду Специальная вставка (Paste Special) , чтобы увидеть подменю:


Из него можно выбрать варианты вставки значений с сохранением дизайна или числовых форматов исходных ячеек.

В старых версиях Excel таких удобных желтых кнопочек нет, но можно просто выбрать команду Специальная вставка и затем опцию Значения (Paste Special — Values) в открывшемся диалоговом окне:

Способ 2. Только клавишами без мыши

При некотором навыке, можно проделать всё вышеперечисленное вообще на касаясь мыши:

  1. Копируем выделенный диапазон Ctrl + C
  2. Тут же вставляем обратно сочетанием Ctrl + V
  3. Жмём Ctrl , чтобы вызвать меню вариантов вставки
  4. Нажимаем клавишу с русской буквой З или используем стрелки, чтобы выбрать вариант Значения и подтверждаем выбор клавишей Enter :

Способ 3. Только мышью без клавиш или Ловкость Рук

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

  1. Выделяем диапазон с формулами на листе
  2. Хватаем за край выделенной области (толстая черная линия по периметру) и, удерживая ПРАВУЮ клавишу мыши, перетаскиваем на пару сантиметров в любую сторону, а потом возвращаем на то же место
  3. В появившемся контекстном меню после перетаскивания выбираем Копировать только значения (Copy As Values Only) .

После небольшой тренировки делается такое действие очень легко и быстро. Главное, чтобы сосед под локоть не толкал и руки не дрожали 😉

Способ 4. Кнопка для вставки значений на Панели быстрого доступа

Ускорить специальную вставку можно, если добавить на панель быстрого доступа в левый верхний угол окна кнопку Вставить как значения. Для этого выберите Файл — Параметры — Панель быстрого доступа (File — Options — Customize Quick Access Toolbar) . В открывшемся окне выберите Все команды (All commands) в выпадающем списке, найдите кнопку Вставить значения (Paste Values) и добавьте ее на панель:

Теперь после копирования ячеек с формулами будет достаточно нажать на эту кнопку на панели быстрого доступа:

Кроме того, по умолчанию всем кнопкам на этой панели присваивается сочетание клавиш Alt + цифра (нажимать последовательно). Если нажать на клавишу Alt , то Excel подскажет цифру, которая за это отвечает:

Способ 5. Макросы для выделенного диапазона, целого листа или всей книги сразу

Если вас не пугает слово «макросы», то это будет, пожалуй, самый быстрый способ.

Макрос для превращения всех формул в значения в выделенном диапазоне (или нескольких диапазонах, выделенных одновременно с Ctrl) выглядит так:

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

И, наконец, для превращения всех формул в книге на всех листах придется использовать вот такую конструкцию:

Код нужных макросов можно скопировать в новый модуль вашего файла (жмем Alt + F11 чтобы попасть в Visual Basic, далее Insert — Module). Запускать их потом можно через вкладку Разработчик — Макросы (Developer — Macros) или сочетанием клавиш Alt + F8 . Макросы будут работать в любой книге, пока открыт файл, где они хранятся. И помните, пожалуйста, о том, что действия выполненные макросом невозможно отменить — применяйте их с осторожностью.

Способ 6. Для ленивых

Если ломает делать все вышеперечисленное, то можно поступить еще проще — установить надстройку PLEX, где уже есть готовые макросы для конвертации формул в значения и делать все одним касанием мыши:

  • всё будет максимально быстро и просто
  • можно откатить ошибочную конвертацию отменой последнего действия или сочетанием Ctrl + Z как обычно
  • в отличие от предыдущего способа, этот макрос корректно работает, если на листе есть скрытые строки/столбцы или включены фильтры
  • любой из этих команд можно назначить любое удобное вам сочетание клавиш в Диспетчере горячих клавиш PLEX

Источник

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

Формулы – это хорошо. Они автоматически пересчитываются при любом изменении исходных данных, превращая Excel из «калькулятора-переростка» в мощную автоматизированную систему обработки поступающих данных. Они позволяют выполнять сложные вычисления с хитрой логикой и структурой. Но иногда возникают ситуации, когда лучше бы вместо формул в ячейках остались значения. Например:

  • Вы хотите зафиксировать цифры в вашем отчете на текущую дату.
  • Вы не хотите, чтобы клиент увидел формулы, по которым вы рассчитывали для него стоимость проекта (а то поймет, что вы заложили 300% маржи на всякий случай).
  • Ваш файл содержит такое больше количество формул, что Excel начал жутко тормозить при любых, даже самых простых изменениях в нем, т.к. постоянно их пересчитывает (хотя, честности ради, надо сказать, что это можно решить временным отключением автоматических вычислений на вкладке Формулы – Параметры вычислений).
  • Вы хотите скопировать диапазон с данными из одного места в другое, но при копировании «сползут» все ссылки в формулах.

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

Способ 1. Классический

Этот способ прост, известен большинству пользователей и заключается в использовании специальной вставки:

  1. Выделите диапазон с формулами, которые нужно заменить на значения.
  2. Скопируйте его правой кнопкой мыши – Копировать (Copy).
  3. Щелкните правой кнопкой мыши по выделенным ячейкам и выберите либо значок Значения (Values):

    преобразование формул в значения в Excel
    либо наведитесь мышью на команду Специальная вставка (Paste Special), чтобы увидеть подменю:

    formulas-to-values2.png
    Из него можно выбрать варианты вставки значений с сохранением дизайна или числовых форматов исходных ячеек.

    В старых версиях Excel таких удобных желтых кнопочек нет, но можно просто выбрать команду Специальная вставка и затем опцию Значения (Paste Special — Values) в открывшемся диалоговом окне:

    formulas-to-values3.png

Способ 2. Только клавишами без мыши

При некотором навыке, можно проделать всё вышеперечисленное вообще на касаясь мыши:

  1. Копируем выделенный диапазон Ctrl+C
  2. Тут же вставляем обратно сочетанием Ctrl+V
  3. Жмём Ctrl, чтобы вызвать меню вариантов вставки
  4. Нажимаем клавишу с русской буквой З или используем стрелки, чтобы выбрать вариант Значения и подтверждаем выбор клавишей Enter:

Замена формул на значения соч.клавиш

Способ 3. Только мышью без клавиш или Ловкость Рук

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

  1. Выделяем диапазон с формулами на листе
  2. Хватаем за край выделенной области (толстая черная линия по периметру) и, удерживая ПРАВУЮ клавишу мыши, перетаскиваем на пару сантиметров в любую сторону, а потом возвращаем на то же место
  3. В появившемся контекстном меню после перетаскивания выбираем Копировать только значения (Copy As Values Only).

formulas-to-values4.gif

После небольшой тренировки делается такое действие очень легко и быстро. Главное, чтобы сосед под локоть не толкал и руки не дрожали ;)

Способ 4. Кнопка для вставки значений на Панели быстрого доступа

Ускорить специальную вставку можно, если добавить на панель быстрого доступа в левый верхний угол окна кнопку Вставить как значения. Для этого выберите Файл — Параметры — Панель быстрого доступа (File — Options — Customize Quick Access Toolbar). В открывшемся окне выберите Все команды (All commands) в выпадающем списке, найдите кнопку Вставить значения (Paste Values) и добавьте ее на панель:

Добавление кнопки вставки значений на панель быстрого доступа

Теперь после копирования ячеек с формулами будет достаточно нажать на эту кнопку на панели быстрого доступа:

Кнопка вставки значений на панели быстрого доступа

Кроме того, по умолчанию всем кнопкам на этой панели присваивается сочетание клавиш Alt + цифра (нажимать последовательно). Если нажать на клавишу Alt, то Excel подскажет цифру, которая за это отвечает:

Подсветка горячих клавиш

Способ 5. Макросы для выделенного диапазона, целого листа или всей книги сразу

Если вас не пугает слово «макросы», то это будет, пожалуй, самый быстрый способ.

Макрос для превращения всех формул в значения в выделенном диапазоне (или нескольких диапазонах, выделенных одновременно с Ctrl) выглядит так:

Sub Formulas_To_Values_Selection()
'преобразование формул в значения в выделенном диапазоне(ах)
    Dim smallrng As Range
    For Each smallrng In Selection.Areas
        smallrng.Value = smallrng.Value
    Next smallrng
End Sub

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

Sub Formulas_To_Values_Sheet()
'преобразование формул в значения на текущем листе
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub
 

И, наконец, для превращения всех формул в книге на всех листах придется использовать вот такую конструкцию:

Sub Formulas_To_Values_Book()
'преобразование формул в значения во всей книге
    For Each ws In ActiveWorkbook.Worksheets
        ws.UsedRange.Value = ws.UsedRange.Value
    Next ws
End Sub
 

Код нужных макросов можно скопировать в новый модуль вашего файла (жмем Alt+F11 чтобы попасть в Visual Basic, далее Insert — Module). Запускать их потом можно через вкладку Разработчик — Макросы (Developer — Macros) или сочетанием клавиш Alt+F8. Макросы будут работать в любой книге, пока открыт файл, где они хранятся. И помните, пожалуйста, о том, что действия выполненные макросом невозможно отменить — применяйте их с осторожностью. 

Способ 6. Для ленивых

Если ломает делать все вышеперечисленное, то можно поступить еще проще — установить надстройку PLEX, где уже есть готовые макросы для конвертации формул в значения и делать все одним касанием мыши:

formulas-to-values.png

В этом случае:

  • всё будет максимально быстро и просто
  • можно откатить ошибочную конвертацию отменой последнего действия или сочетанием Ctrl+Z как обычно
  • в отличие от предыдущего способа, этот макрос корректно работает, если на листе есть скрытые строки/столбцы или включены фильтры
  • любой из этих команд можно назначить любое удобное вам сочетание клавиш в Диспетчере горячих клавиш PLEX

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

  • Что такое макросы, как их использовать, копировать и запускать
  • Как скопировать формулы без сдвига ссылок
  • Как считать в Excel без формул

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

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

Для чего нужно удаление функций

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

Выделение диапазона для удаления функции с сохранением значения в Microsoft Excel

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Вариант 1: Вставка с заменой

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

  1. Зажмите левую кнопку мыши, выделите все необходимые ячейки и используйте комбинацию Ctrl+C для копирования.Копирование диапазона для удаления функции с сохранением значения в Microsoft Excel

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

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

Вариант 2: Опция «Копировать только значения»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выделяем первоначальный диапазон. Щелкаем по нему правой кнопкой мыши. В контекстном списке в группе «Параметры вставки» выбираем пункт «Значения».

После того, как данные были вставлены, можно удалить транзитный диапазон. Выделяем его. Вызываем контекстное меню кликом правой кнопки мыши. Выбираем в нем пункт «Удалить…».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отблагодарите автора, поделитесь статьей в социальных сетях.

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

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

Удаление формулы

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

Нажмите клавишу DELETE.

Удаление формулы с сохранением результатов

Для этого нужно скопировать формулу, а затем вставить ее в ту же ячейку с помощью параметра “вставить значения”.

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

Щелкните ячейку в формуле массива.

На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.

Нажмите кнопку Дополнительный.

Нажмите кнопку Текущий массив.

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

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

Удаление формулы массива

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

Щелкните ячейку в формуле массива.

На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.

Нажмите кнопку Дополнительный.

Нажмите кнопку Текущий массив.

Нажмите клавишу DELETE.

Удаление формулы с сохранением результатов

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

Щелкните главная > Копировать (или нажмите клавиши CTRL + C).

На вкладке главная > щелкните стрелку под кнопкой Вставить > Вставить значения.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Как убрать формулу в Excel

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

— Программа Excel(данная программа входит в пакет офисных программ Microsoft Office 2016, которую вы можете заказать со скидкой в нашем интернет-магазине).

Инструкция

  1. Если вам требуется скрыть формулу только в определенной ячейке таблицы, то кликните по нужной ячейке и в строке функций отобразится данная формула (строка функций находится под панелью инструментов).
  2. Щелчком правой кнопки мышки по данной ячейке вызовите контекстное меню и выберите пункт «Копировать». Выбранная ячейка должна выделиться пунктирным прямоугольником. Повторно вызовите контекстное меню для данной ячейки и укажите опцию «Специальная вставка». Будет загружено дополнительное диалоговое окно, в котором будут представлены различные варианты вставки. Из предложенных вариантов выберите «Значения» или «Значения и форматы чисел», подтвердите вставку нажатием на кнопку ОК. Опция «Специальная вставка»

Видео: Копирование формул в Excel, замена формул числовыми значениями

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

Иногда формула в ячейке нужна лишь на короткое время – только для получения результата. А затем уже не нужна ни сама формула, ни ячейки, на которые она ссылается. Но вот беда – если удалить ячейки, то формула “ломается”, как это говорится. Т.е. в ячейке получается либо #ЗНАЧ! либо #ССЫЛКА! . Или Вам надо просто зафиксировать значение, полученное в результате работы формулы. Т.е. чтобы формулы там не было, а было только значение. Как ни странно, но делается это проще простого:

Выделяете ячейку/несколько ячеек с формуламиКопируетеПравая кнопка мышиСпециальная вставкаЗначения

Вот и все. Больше формул нет.
Так же подобное можно сделать при помощи кода VBA:

Sub Formulas_To_Values() Selection.Value = Selection.Value End Sub

Для использования кода переходим в редактор VBA( Alt + F11 ) –InsertModule и вставляем приведенный код. Чтобы выполнить код надо на листе нажать сочетание клавиш 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

то в контекстном меню мыши появится команда – “Вставить значения”. Она полностью дублирует стандартную, только вызвать её быстрее – одно нажатие и все.

Статья помогла? Поделись ссылкой с друзьями!

Как убрать формулу в Excel

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

— Программа Excel(данная программа входит в пакет офисных программ Microsoft Office 2016, которую вы можете заказать со скидкой в нашем интернет-магазине).

Инструкция

  1. Если вам требуется скрыть формулу только в определенной ячейке таблицы, то кликните по нужной ячейке и в строке функций отобразится данная формула (строка функций находится под панелью инструментов).
  2. Щелчком правой кнопки мышки по данной ячейке вызовите контекстное меню и выберите пункт «Копировать». Выбранная ячейка должна выделиться пунктирным прямоугольником. Повторно вызовите контекстное меню для данной ячейки и укажите опцию «Специальная вставка». Будет загружено дополнительное диалоговое окно, в котором будут представлены различные варианты вставки. Из предложенных вариантов выберите «Значения» или «Значения и форматы чисел», подтвердите вставку нажатием на кнопку ОК. Опция «Специальная вставка»

Видео: Копирование формул в Excel, замена формул числовыми значениями

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

Добрый день,
У меня есть необходимость на горомадных листах удалить все значения которые введены вручную, но при этом оставить все формулы которые есть на листе. (слишком большой объем работы для ручного удаления)

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

В интернетах и на форуме ответа нет. Заранее спасибо. Роюсь в поисках ответа.

Добрый день,
У меня есть необходимость на горомадных листах удалить все значения которые введены вручную, но при этом оставить все формулы которые есть на листе. (слишком большой объем работы для ручного удаления)

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

В интернетах и на форуме ответа нет. Заранее спасибо. Роюсь в поисках ответа. 808

Сообщение Добрый день,
У меня есть необходимость на горомадных листах удалить все значения которые введены вручную, но при этом оставить все формулы которые есть на листе. (слишком большой объем работы для ручного удаления)

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

В интернетах и на форуме ответа нет. Заранее спасибо. Роюсь в поисках ответа. Автор – 808
Дата добавления – 22.11.2011 в 17:44

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

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

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

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

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

Хотела просто через «Сохранить как» или перевести копию этого файла, так чтобы сохранились значения ячеек без всех связей и формул. Никак не могу найти в справке как же заменить сразу во всем файле все формулы на значения. tati_2000

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

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

Хотела просто через «Сохранить как» или перевести копию этого файла, так чтобы сохранились значения ячеек без всех связей и формул. Никак не могу найти в справке как же заменить сразу во всем файле все формулы на значения. Автор — tati_2000
Дата добавления — 07.11.2013 в 10:08

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

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

  • это значения, вычисленные этими формулами,
  • сам текст формул.

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

  • Где удалять формулы:
    • в диапазоне,
    • во всем листе,
    • во всей книге.

    Эта статья даст ответы на все вопросы выше.

    Удалить формулы и сохранить данные

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

    Так вот, чтобы перевести формулы в значения, нужно:

    1. Выделить нужный диапазон ячеек (или одну ячейку, всю строку, столбец или весь лист).
    2. Скопировать выделенное.
    3. Вставить процедурой вставки «как значения».

    Можно сделать это клавишами мыши или клавиатуры — суть процедуры от этого не меняется.

    С помощью мыши

    Не самый быстрый (так как работает только одна рука), но самый удобный и понятный способ. Выделяем, копируем и в контекстном меню (вызывается нажатием правой кнопки мыши по выделенному диапазону) команду со скриншота:

    Команда "вставить как значения" в командном меню вставки в Excel

    Команда «Вставить как значения» в командном меню вставки в Excel

    С помощью клавиатуры (сочетания клавиш)

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

    1. Выделяем диапазон:
      • мышью, если это столбец, строка или лист,
      • сочетаниями Ctrl+Shift+стрелки или Shift+стрелки, если ячейки или диапазоны ячеек.
    2. Копируем сочетанием Ctrl+C.
    3. Перемещаемся стрелками к диапазону, куда нужно вставить данные, и/или нажимаем Ctrl+Tab для перехода в другую книгу.
    4. Вызываем контекстное меню клавишей на клавиатуре. Иногда ее нет, но обычно на клавиатурах она расположена рядом с правым ALT.
    5. Стрелками перемещаемся к команде (Вниз-вниз-вправо).
    6. Нажимаем Enter.

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

    Перевод формул в их текст (без сохранения результирующих значений)

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

    Перевести формулы в текст

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

    Формулы как текст

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

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

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

    Вот код VBA-процедуры, который позволяет обойти проблему:

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

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

    Удалить формулы на листе / во всех листах

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

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

    Удаляем формулы со всего листа с !SEMTools

    Удаление формул надстройкой !SEMTools

    Быструю замену формул на значения в выделенном диапазоне без необходимости копирования и особой вставки я реализовал в своей надстройке для Excel !SEMTools.

    Для тех, кто не готов разбираться в VBA, после установки !SEMTools запуск процедуры доступен в два клика из соответствующего меню в группе «УДАЛИТЬ«. Функционал относится к бесплатным возможностям !SEMTools (работают без ограничений в любой версии).

    Удалить формулы и сохранить значения в Excel с !SEMTools

    Хотите так же быстро удалять формулы в Excel?
    !SEMTools ускорит эту и сотни других задач!

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

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

Содержание

  1. Удаление формул
    • Метод 1: копируем значения с помощью параметров вставки
    • Метод 2: используем специальную вставку
    • Метод 3: удаляем формулы в исходной таблице
    • Метод 4: удаляем формулы без копирования в другое место
    • Метод 5: применяем макрос
    • Метод 6: удаляем формулу вместе с результатом вычислений
  2. Заключение

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

Специального инструмента, который бы помог выполнить данную процедуру, в Эксель нет. Однако решить этот вопрос можно, причем разными методами.

Метод 1: копируем значения с помощью параметров вставки

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

  1. Для начала с помощью зажатой левой кнопки мыши нужно выделить область ячеек, которую мы хотим скопировать.Выделенный диапазон ячеек в Эксель
  2. Правой кнопкой мыши щелкаем по любой точке выделенного диапазона и в открывшемся контекстном меню выбираем пункт “Копировать”. Также, можно вместо этого действия можно просто нажать сочетание клавиш Ctrl+C (после того, как выполнено выделение).Копирование диапазона ячеек в Эксель через контекстное менюДля копирования данных можно также воспользоваться кнопкой “Копировать”, которая расположена на лента программы во вкладке “Главная”.Копирование диапазона ячеек в Excel с помощью кнопки на ленте
  3. Переходим в ячейку, начиная с которой мы хотим вставить скопированные данные (эта ячейка станет самой верхней левой точкой диапазона данных, который мы будем вставлять из буфера обмена). Затем правой кнопкой мыши щелкаем по выбранному элементу, в появившемся меню в группе “Параметры вставки” кликаем по варианту “Значения” (значок в виде цифр “123”).Вставка скопированных значений в Эксель
  4. В результате скопированная область данных (только конкретные числовые значения, без формул) будет вставлена в новое место.Вставленные из буфера обмена данные в Excel

Метод 2: используем специальную вставку

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

  1. Выделяем и копируем требуемый диапазон данных. На этот раз давайте отметим всю таблицу, а для копирования используем кнопку на ленте инструментов.Копирование выделенной области ячеек в Эксель с помощью кнопки на ленте
  2. Переходим в ячейку, начиная с которой планируем вставить скопированные элементы. Щелкаем правой кнопкой мыши по ней, в раскрывшемся контекстном меню кликаем (или наводим указатель мыши) по небольшой стрелке вправо рядом с командой “Специальная вставка”. Всплывет дополнительное подменю, в котором щелкаем по пункту “Значения и исходное форматирование”.Вставка скопированных значений с сохранением исходного форматирования в Excel
  3. Мы получим исходную таблицу в новом месте с охранением форматирования и конкретными числовыми значениями вместо формул.Вставленная из буфера обмена таблица в Эксель с сохранением исходного форматирования

Метод 3: удаляем формулы в исходной таблице

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

  1. Копируем нужный диапазон ячеек любым удобным способом, например, воспользовавшись контекстным меню.Копирование ячеек в Excel через контекстное меню
  2. Как и в ранее рассмотренном методе, вставляем скопированную область в новое место с сохранением исходного форматирования. После этого, не снимая выделение, копируем только что вставленные данные, например, нажав комбинацию клавиш Ctrl+C (или любым другим удобным способом).Вставленная из буфера обмена таблица в Excel
  3. Переходим в самую верхнюю левую ячейку исходной таблицы (или выделяем в ней тот диапазон ячеек, который был скопирован в 1 шаге), кликом правой кнопки мыши вызываем меню, в котором выбираем вставку “Значений”.Вставка скопированных значений в Excel
  4. Теперь, когда содержимое ячеек без формул скопировано в исходное место на листе, удаляем созданные дубликаты. Для этого, выделяем нужный диапазон данных, щелкаем по нему правой кнопкой мыши и в раскрывшемся меню выбираем пункт “Удалить”.Удаление ячеек в Эксель через контекстное меню
  5. Появится окно удаления ячеек. Выбираем то, что нужно удалить. Исходя из нашего примера, ставим отметку напротив пункта “строку”, после чего жмем кнопку OK.Удаление строк в ЭксельТакже, так как справа от выделенного диапазона нет заполненных ячеек, можно выбрать вариант – “ячейки, со сдвигом влево”.Удаление ячеек со сдвигом влево в Excel
  6. Задублированный диапазон данных удален. На этом работа по замене формул на конкретные значения в исходной таблице завершена.Выделенный диапазон ячеек в Эксель

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

Что делать, если не хочется дублировать таблицу в другом месте листа для ее последующего переноса в исходное с конкретными значениями? Такая возможность в Эксель также предусмотрена, однако, требует большой концентрации внимания, так как все действия мы будем выполнять непосредственно в самой таблице, и из-за неверных шагов можно удалить или нарушить структурную целостность данных.

  1. Как обычно, сперва нужно выделить область ячеек, в которых нужно удалить формулы. Затем копируем данные любым удобным способом. Проще всего это сделать, нажав на кнопку “Копировать” на ленте программы (вкладка “Главная”).Копирование выделенной области ячеек в Excel
  2. Теперь, оставляя скопированную область выделенной, щелкаем по ней правой кнопкой мыши и в появившемся меню в группе команд “Параметры вставки” кликаем по варианту “Значения”.Вставка скопированной области ячеек в Excel
  3. В итоге, мы в том же самом месте таблицы в выделенных ячейках вместо формул вставим конкретные значения (результаты вычислений).Вставленный диапазон ячеек в Эксель

Метод 5: применяем макрос

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

  1. Щелкаем по меню “Файл”.Переход в меню Файл в Excel
  2. В открывшемся окне в боковом перечне слева в самом низу выбираем раздел “Параметры”.Переход в Параметры Excel
  3. В параметрах программы переходим в подраздел “Настроить ленту”. В правой части окна ставим галочку напротив пункта “Разработчик”, после чего щелкаем OK.Включение режима Разработчика в Параметрах Excel

Теперь все готово, чтобы выполнить поставленную задачу:

  1. Переключаемся во вкладку “Разработчик”, в которой щелкаем по кнопке “Visual Basic” (группа “Код”).Переход в редактор Visual Basic в Эксель
  2. Выбрав нужный лист книги нажимаем на кнопку “View Code” (или дважды щелкаем левой кнопкой мыши по выбранному листу), чтобы запустить редактор макросов, куда вставляем код ниже, после чего закрываем данное окно.
    Sub Удаление_формул()
    Selection.Value = Selection.Value
    End Sub
    Код для замены формул значениями в редакторе Visual Basic в Excel
  3. Выделяем диапазон ячеек, содержащих формулы, и нажимаем кнопку “Макросы”, которая расположена во вкладке “Разработчик” (блок инструментов “Код”).Применение макросов в Эксель
  4. В открывшемся окне выбора макросов отмечаем нужный и щелкаем по кнопке “Выполнить”.Выбор макроса в Excel
  5. После того, как процедура будет выполнена, все формулы в выбранных ячейках будут заменены результатами расчетов по ним.

Метод 6: удаляем формулу вместе с результатом вычислений

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

  1. Начинаем с того, что выделяем область ячеек, содержащих формулы. Кликом правой кнопки мыши по выделенному диапазону вызываем меню, в котором щелкаем по команде “Очистить содержимое”.Очистка содержимого ячеек в Эксель через контекстное менюТакже, вместо этого, после того, как нужные элементы отмечены, можно просто нажать клавишу Del (Delete) на клавиатуре.
  2. В итоге все данные в ячейках, в том числе, формулы будут стерты.Диапазон ячеек в Эксель с удаленными данными

Заключение

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

  • Удалить формулы и сохранить данные
    • С помощью мыши
    • С помощью клавиатуры (сочетания клавиш)
  • Перевод формул в их текст (без сохранения результирующих значений)
    • В видимых ячейках, пропуская скрытые фильтром
    • Удалить формулы на листе / во всех листах
    • Удаление формул надстройкой !SEMTools

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

  • это значения, вычисленные этими формулами,
  • сам текст формул.

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

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

Эта статья даст ответы на все вопросы выше.

Удалить формулы и сохранить данные

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

Так вот, чтобы перевести формулы в значения, нужно:

  1. Выделить нужный диапазон ячеек (или одну ячейку, всю строку, столбец или весь лист).
  2. Скопировать выделенное.
  3. Вставить процедурой вставки “как значения”.

Можно сделать это клавишами мыши или клавиатуры — суть процедуры от этого не меняется.

С помощью мыши

Не самый быстрый (так как работает только одна рука), но самый удобный и понятный способ. Выделяем, копируем и в контекстном меню (вызывается нажатием правой кнопки мыши по выделенному диапазону) команду со скриншота:

Команда “Вставить как значения” в командном меню вставки в Excel

С помощью клавиатуры (сочетания клавиш)

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

Пошагово:

  1. Выделяем диапазон:
    • мышью, если это столбец, строка или лист,
    • сочетаниями Ctrl + Shift + стрелки или Shift + стрелки, если ячейки или диапазоны ячеек.
  2. Копируем сочетанием Ctrl + C.
  3. Перемещаемся стрелками к диапазону, куда нужно вставить данные, и/или нажимаем Ctrl + Tab для перехода в другую книгу.
  4. Вызываем контекстное меню клавишей на клавиатуре. Иногда ее нет, но обычно на клавиатурах она расположена рядом с правым Alt.
  5. Стрелками перемещаемся к команде (Вниз-вниз-вправо).
  6. Нажимаем Enter.

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

Перевод формул в их текст (без сохранения результирующих значений)

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

Excel — Найти и заменить
Выделяем диапазон формул, жмем Ctrl + H (“эйч”, англ.), чтобы запустить диалоговое окно “Найти и заменить” и в соответствующих окошках вбиваем значения
image
Апостроф в результате замены не будет виден, и формулы будут выглядеть идентично их написанию, однако восприниматься программой будут как текст

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

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

Вот код 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

Удаление формул надстройкой !SEMTools

Быструю замену формул на значения в выделенном диапазоне без необходимости копирования и особой вставки я реализовал в своей надстройке для Excel !SEMTools.

Для тех, кто не готов разбираться в VBA, после установки !SEMTools запуск процедуры доступен в два клика из соответствующего меню в группе «УДАЛИТЬ». Функционал относится к бесплатным возможностям !SEMTools (работают без ограничений в любой версии).

Перевод формул в значения

Удалить формулы и сохранить значения в Excel с !SEMTools

Хотите так же быстро удалять формулы в Excel?
!SEMTools ускорит эту и сотни других задач!

Замена формул вычисляемой величиной

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

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

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

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

    1. Щелкните ячейку в формуле массива.

    2. На вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить, а затем выберите команду Перейти.

    3. Нажмите кнопку Дополнительный.

    4. Щелкните Текущий массив.

  2. Нажмите кнопку Копировать Изображение кнопки.

  3. Нажмите кнопку В Изображение кнопки .

  4. Щелкните стрелку рядом с кнопкой Параметры в Изображение кнопкии выберите только значения.

В следующем примере показана формула в ячейке D2, которая умножает ячейки A2, B2 и скидку из ячейки C2 для расчета суммы счета для продажи. Чтобы скопировать фактическое значение вместо формулы из ячейки на другой книгу или на другой, можно преобразовать формулу в ячейку в ее значение, выстроив следующее:

  1. Нажмите F2, чтобы изменить ячейку.

  2. Нажмите F9, а затем ввод.

В строке формул показана формула.

После преобразования ячейки из формулы в значение в области формул отображается значение 1932,322. Обратите внимание, что 1932,322 — фактическое вычисляемого значения, а 1932,32 — значение, отображаемого в ячейке в валютном формате.

В строке формул показано значение.

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

Замена части формулы значением, полученным при ее вычислении

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

При замене части формулы ее значением ее часть восстановить невозможно.

  1. Щелкните ячейку с формулой.

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

  3. Чтобы вычислить выбранную часть, нажмите F9.

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

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

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

NIKE

Дата: Понедельник, 18.11.2013, 20:50 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

У меня такая задача: есть три ячейки A1, A2, A3. В ячейках A1 и A2 — данные, в ячейке A3 нужен результат, а именно: если ячейка A1 удовлетворяет условию, то записать в ячейку A3 значение ячейки A2, иначе — оставить в ячейке A3 её предыдущее значение. Желательно без макроса ибо здесь я совсем не соображаю.

К сообщению приложен файл:

0793176.xls
(18.5 Kb)

 

Ответить

Nic70y

Дата: Понедельник, 18.11.2013, 21:01 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

Замечаний:
0% ±


Excel 2010

Код

=ЕСЛИ(A1=чему_то;A2;предыдущая_ссылка)


ЮMoney 41001841029809

 

Ответить

NIKE

Дата: Понедельник, 18.11.2013, 21:19 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Спасибо за быстрый отклик, я наверное плохо написал что нужно. Проблема в том, что предыдущей ссылки нет, в ячейки A1, A2 настроен экспорт из другой программы. Вообще нужно чтобы если в ячейке A1 секунда=59, то в A3 записывается котировка из A2, и меняется значение только через минуту, т. е. когда в A1 секунда снова будет равна 59. Получается что при постоянно изменяющихся данных в A1 и A2, значение в A3 меняется примерно раз в минуту (за исключением, когда в 59 секунду(за 1 секунду) котировка изменилась несколько раз).

 

Ответить

AndreTM

Дата: Понедельник, 18.11.2013, 22:19 |
Сообщение № 4

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

Замечаний:
0% ±


2003 & 2010

NIKE, вы немного не так подходите.
У вас DDE-ссылки на данные внешней программы, соответственно, в Excel вы данные имеете в реалтайме, НО! — формулы здесь неприменимы в принципе. Потому что формулы умеют обрабатывать уже имеющийся набор данных, но не умеют добавлять новые данные (например, вставлять строки, или заполнять ячейки вне самой ячейки с формулой).
Поэтому нормальная реализация DDE-клиента возможна только с использование макросов. Но тогда реализация достаточно проста — реакция настраивается либо на событие изменения данных в ячейке(ах), либо по таймеру. И в момент возникновения события — конкретные текущие значения могут быть соответствующим образом обработаны (переписаны в другие ячейки, сохранены в накопительной базе (/массиве/коллекции/etc)), с ними могут быть проведены необходимые действия по анализу и т.д.
Например, ваша обработка будет заключаться в том, чтобы хранить предыдущее значение даты-времени и котировки, и при изменении значения минуты в DateTime — сбрасывать последнее сохранённое значение котировки в нужную ячейку.

Или я где-то чего-то не понимаю…


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

NIKE

Дата: Вторник, 19.11.2013, 14:50 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

AndreTM, вы всё правильно поняли. А можете помочь с написанием макроса применимо к моей задаче? Все что мне нужно это как вы написали — «при изменении значения минуты в DateTime — сбрасывать последнее сохранённое значение котировки в нужную ячейку».

 

Ответить

Hugo

Дата: Вторник, 19.11.2013, 15:25 |
Сообщение № 6

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

«событие изменения данных в ячейке(ах), либо по таймеру» — думаю нет.
событие изменения данных не произойдёт, ну а таймер «неповоротлив».
Нужно срабатывать либо по на событие пересчёта (завязать на эту ячейку любую формулу), либо например на событие текстбокса (завязать на ячейку текстбокс).
Есть ещё инструмент SetLinkOnData, но это сложно :(


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

NIKE

Дата: Вторник, 19.11.2013, 15:43 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

А нельзя сделать так: пусть в ячейку A1 транслируется время, в ячейку A2 транслируется цена. Завести переменную (например — x), в которую будет записываться следующее: если секунда(A1)=59, то x присвоить значение A2. И как -то этот x транслировать в ячейку A3?

 

Ответить

AndreTM

Дата: Вторник, 19.11.2013, 16:13 |
Сообщение № 8

Группа: Друзья

Ранг: Старожил

Сообщений: 1762


Репутация:

498

±

Замечаний:
0% ±


2003 & 2010

Hugo, событие изменения данных точно не происходит при работе с DDE-сервером?
И естественно, можно же завязать копию данных, типа в B1: =A1, и срабатывать уже на ней. В любом случае, путь есть.

NIKE, не упирайтесь со своим вИдением вопроса. Начнём с того, что секунда=59 может и не быть: таймер может перейти сразу с 58-й секунды на новую минуту, могут быть задержки в канале ИНета — и что, пропустите обновление?


Skype: andre.tm.007
Donate: Qiwi: 9517375010

 

Ответить

NIKE

Дата: Вторник, 19.11.2013, 16:39 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

То что 59 секунды может не быть согласен, но как правило бывает, т. к. инструмент очень ликвидный. (ну да это я так -мои сложности). Вообще рассчитывал что задачка не трудная и решение с ходу найдётся. Может ли кто-то помочь с решением, в виде конкретной реализации с кодом?

 

Ответить

Hugo

Дата: Вторник, 19.11.2013, 16:50 |
Сообщение № 10

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

Замечаний:
0% ±


2010, теперь уже с PQ

типа в B1: =A1, и срабатывать уже на ней.

так тоже не будет события изменения. А вот событие пересчёта будет.


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

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

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

  • Excel сохранить диапазон ячеек
  • Excel сохранить диапазон в таблице
  • Excel сохранить все листы как отдельные файлы
  • Excel сохранить в определенную папку
  • Excel сохранить в нескольких файлах

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

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