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

Как преобразовать формулы в текст в excel

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

Познакомимся с вариантами преобразования формулы Excel в текст (в результате получается не значение ячейки, а формульное выражение в текстовом виде, например, "=A1+A2", "=СЕГОДНЯ()" и т.д.).

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

Преобразование формулы в текст в Excel

Начнем с более простого варианта, а именно предположим, что нам нужно преобразовать формулу в текст в самой ячейке (т.е. заменить значение на текстовую запись). Тогда в этом случае есть несколько способов преобразования:

  • Поменять формат ячейки на текстовый, а затем произвести вычисление формулы; При этом для каждой ячейки нужно будет вручную производить изменение.
  • Добавить апостроф (символ «‘») перед знаком равно (символ «=») в формульном выражении. В данном варианте подставить апостроф можно как вручную, так и через замену («=» на «‘=» с помощью инструмента «Найти и заменить»).

Теперь перейдем к более общему случаю и рассмотрим 2 основных варианта перевода формулы в текст (т.е. получить текстовую запись):

  • Функция Ф.ТЕКСТ (доступна начиная с версии Excel 2013);
  • Пользовательская функция (UDF).

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

Функция Ф.ТЕКСТ в Excel

Начиная с версии Excel 2013 для применения доступна функция Ф.ТЕКСТ (FORMULATEXT в английской версии):

Ф.ТЕКСТ(ссылка)
Возвращает формулу в виде строки.

  • Ссылка(обязательный аргумент) — ссылка на ячейку или диапазон ячеек.

Перейдем к примерам. Применим Ф.ТЕКСТ, в качестве аргумента укажем ссылку на произвольную ячейку, где содержится какое-либо формульное выражение:

Пример (стиль A1)

При этом в зависимости от выбранного у вас параметра отображения стиля ссылок (A1 или R1C1) формула автоматически будет подстраиваться под формат записи:

Пример (стиль R1C1)

Замечания

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

  • Аргумент "Ссылка" может ссылаться на другие листы и книги;
  • Если аргумент "Ссылка" не содержит формульное выражение или содержит ссылку на закрытую книгу, то в результате будет возвращено значение ошибки.

Пользовательская функция (UDF)

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

Перейдем в редактор Visual Basic (сочетание клавиш Alt + F11), вставляем новый модуль и добавляем следующий код:

Формула в EXCEL отображается как Текстовая строка

history 11 апреля 2013 г.
    Группы статей
  • Настройка формул
  • Поиск и исправление ошибок в формулах

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

Итак, по какой-то причине пользователь ввел формулу в ячейку с Тектовым форматом.

Заставить EXCEL интерпретировать введенное в ячейку выражение как формулу, а не как текст — очень просто: нажмите клавишу F2 , затем ENTER (ВВОД) .

Ниже приведено более подробное объяснение:

  • выделите ячейку с формулой (на рисунке это ячейка А1 );
  • формат ячейки установите Общий (нажав CTRL+1 и выбрав соответствующий Числовой формат или через меню Главное/ Число/ Числовой формат );
  • нажмите клавишу F2 (т.е. войдите в Режим Правки ячейки) или поставьте курсор в Строку формул ;
  • нажмите ENTER .

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

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

Однако, если перед формулами стоит апостроф (‘), то существует подход, который позволяет быстро преобразовать значение ячейки в формулу. Апостроф сообщает EXCEL что ячейка д.б. текстовой не зависимо от того какой фактически установлен Формат ячеек. В Строке формул значения такой ячейки выглядят, например, как ‘=C15.

Формально слевастоящий апостроф не является символом и инструмент Найти/Заменить не сработает, но сработает Текст-по-столбцам :

  • Выделите столбец с формулами (формулы м.б. разными)
  • Вызовите Текст-по-столбцам
  • После вызова этого инструмента во втором окне укажите в качестве разделителя апостроф ‘
  • Нажмите Готово

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *