Возможности !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 ускорит эту и сотни других задач!