Отображение текста формул

Отображение текста формул

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

Для пользователя Excel всегда встаёт вопрос: как же узнать где в ячейке есть формула, а где нет? 

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

Способ №1

Определить есть ли формула в ячейке нам поможет функция =ЕФОРМУЛА.

Отображение текста формул

Результатом вычислений будет два значения: ИСТИНА - формула в ячейке есть; ЛОЖЬ - формулы в ячейке нет.

Ячейки с формулами найдены. Преобразовать формулу в текст поможет функция =Ф.ТЕКСТ. Она возвращает формулу в виде строки. Есть и минус: её можно использовать только с версии Excel 2013 и выше.

отображение текста формул

 

Способ №2

Воспользуемся гибкими возможностями именованных диапазонов в Excel. Переходим на вкладку "Формулы", в блоке кнопок "Определенные имена" нажимаем "Диспетчер имён".

Щёлкаем "Создать", далее вводим имя диапазона (например, ПОЛУЧИТЬФОРМУЛУ), область оставим "Книга", поле "Примечание" можно оставить пустым, в поле "Формула" напишем =ПОЛУЧИТЬ.ЯЧЕЙКУ(6;Лист2!C1). В примере формула находится в ячейке С1, у вас она может быть где угодно, но важно помнить одно - такой способ работает только в ячейке правее ячейки с формулой!

отображение текста формул

 

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

отображение текста формул

 

Как только оно появилось сразу щелкаем по нему два раза.

отображение текста формул

 

Подтверждаем ввод. Видим результат.

отображение текста формул

 

Способ №3

Воспользуемся созданием пользовательской функции на VBA.

Добавим новый модуль (как это сделать можно прочитать ЗДЕСЬ):

  1. Вкладка "Разработчик", блок кнопок "Код", кнопка "Visual Basic";
  2. Далее "Insert" - > "Module".

Вставляем код:

Function FFormula(ByVal Cell As Range, Optional ShowFormula As Boolean = False)
'Application.Volatile True
If ShowFormula Then
If Cell.HasFormula Then
FFormula = "Текст формулы: " & IIf(Cell.HasArray, "{" & Cell.FormulaLocal & "}", Cell.FormulaLocal)
Else
FFormula = "Значение ячейки: " & Cell.Value
End If
Else
FFormula = Cell.HasFormula
End If
End Function

Разбор функции будет в видео ниже. Теперь нам остаётся ввести созданную функцию. Обязательно ввести через точку с запятой "Истина", чтобы активировать возможность показа формулы переменной "ShowFormula".

отображение текста формул

 

Подтверждаем ввод, смотрим на результат.

отображение текста формул

 

Если вы знаете ещё варианты решения этой задачи - оставляйте комментарии под статьёй!

Видео:

Post Author: Иван

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