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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Замечания

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

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

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

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

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

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

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

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

  • Formula — формат A1 (англоязычная формула);
  • FormulaR1C1 — формат R1C1 (англоязычная);
  • FormulaLocal — формат A1 (неанглоязычная/местная);
  • FormulaR1C1Local — формат R1C1 (неанглоязычная/местная).

Выбираем необходимый формат записи, корректируем код FText в VBA и на выходе получаем итоговое преобразование:

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

Поделиться с друзьями: Поиск по сайту: Похожие статьи:

Комментарии (6)

Как можно с помощью UDF определить формулу, привязанную к диапазону ячеек с именем? Например есть массив , для ссылки на него можно его назвать МАТРИЦА1. В этом случае FText(МАТРИЦА1) не срабатывает

Нашел вариант, но надо заранее знать, что речь о диапазоне ячеек: =Ftext(ИНДЕКС(МАТРИЦА1;1;1))

Важная поправка: функция Ф.Текст появилась в 2016 версии офиса, а не 2013!

важная поправка. у меня 2013 проплюс, и ф.текст работает отлично )))

Не работает. Постоянно пишет ошибку #ИМЯ

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

Добавить комментарий Отменить ответ Рубрики
    (6) (5) (18) (6) (1) (17) (9) (13) (5) (14) (2) (15) (18) (1)
Свежие записи
  • Замена результата формулы на значение в Excel
  • Функция ЕСЛИ в Excel
  • Комментарии к ячейке в формуле в Excel
  • Умная таблица в Excel
  • Группировка данных в сводной таблице в Excel
  • Радиальная гистограмма в Excel
  • Выделение столбцов или строк на диаграмме в Excel
  • Визуализация диаграммы с помощью фигур и рисунков в Excel
  • Как закрепить область в Excel?
  • Как убрать нули в ячейках в Excel?
Содержание Читайте ранее: Фильтр и сортировка ячеек по цвету в Excel

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

📎📎📎📎📎📎📎📎📎📎