Функция ЧТО в Excel: назначение и аналоги

Пользователи, ищущие ответ на вопрос «что это в формуле эксель», часто сталкиваются с функцией ЧТО (или WHAT в англоязычной версии), которая в современных версиях табличного редактора уже не работает как полноценный инструмент анализа, а служит скорее историческим артефактом или псевдо-функцией для отладки. В старых версиях Lotus 1-2-3 и ранних Excel эта команда использовалась для вызова диалогового окна поиска значения, но сегодня прямое использование ключевого слова ЧТО в ячейке чаще всего приведет к ошибке #ИМЯ?, если только это не часть пользовательской функции или макроса. Современные специалисты по электронным таблицам должны понимать, что под этим запросом скрывается потребность в инструментах проверки типа данных, структуры формулы или содержимого ячейки, для чего сейчас применяются совершенно иные методы.

Важно сразу отметить, что если вы увидели слово «ЧТО» в чужой таблице, это может быть именем диапазона, заданным пользователем вручную, или текстовой строкой, заключенной в кавычки. Попытка ввести =ЧТО(A1) в актуальной версии Microsoft Excel 365 или Google Таблицах без предварительного определения этого имени вызовет сбой вычислений. Поэтому, когда возникает необходимость проанализировать, «что находится в ячейке», профессионалы используют комбинации функций проверки типов, таких как ЕЧИСЛО, ЕТЕКСТ или инструменты трассировки зависимостей, встроенные в интерфейс программы.

Исторический контекст и происхождение функции

Функция, которую многие ищут под названием «ЧТО», берет свое начало в эпоху табличных процессоров до Windows, когда интерфейс пользователя был текстовым, а команды вводились вручную. В те времена оператор WHAT позволял быстро находить ячейки с определенными характеристиками или значениями, что было критически важно при работе с большими массивами данных на медленных компьютерах. С развитием графического интерфейса и появлением мощных фильтров и условного форматирования необходимость в отдельной функции для простого вопроса «что это?» отпала, и она была упразднена или скрыта от обычного пользователя.

Сегодня термин может встречаться в документации к устаревшим макросам VBA или при конвертации файлов из форматов .wk1 или .wk3. Если вы работаете с legacy-кодом, то WHAT может выступать как метод объекта или свойство, определяющее тип содержимого. Однако для большинства современных задач, связанных с анализом данных, эта функция заменена более гибкими инструментами, такими как ТИП (TYPE) или ЯЧЕЙКА (CELL), которые предоставляют детализированную информацию о формате и содержимом.

⚠️ Внимание: Не пытайтесь использовать функцию =ЧТО() в новых файлах, если вы не уверены на 100%, что она определена в именном диапазоне. Это гарантированно приведет к ошибке вычислений и нарушит целостность отчетов.

Почему функцию убрали?

Разработчики Excel приняли решение отказаться от функции WHAT, так как ее функционал полностью перекрыли более мощные инструменты поиска (Ctrl+F), фильтры и функции категории "Информационные".

Аналоги функции ЧТО в современном Excel

Для решения задачи определения типа данных или содержимого ячейки, которую ранее решала функция «ЧТО», сейчас используется набор информационных функций. Основным инструментом является функция ТИП (в английской версии TYPE), которая возвращает числовой код, указывающий на тип данных: число, текст, логическое значение или ошибка. Это позволяет создавать умные таблицы, которые автоматически адаптируются в зависимости от того, что именно введено в ячейку.

Еще одним мощным инструментом является функция ЯЧЕЙКА (CELL), которая может сообщить не только тип данных, но и форматирование, адрес, ширину столбца и даже дату последнего изменения. Комбинируя эти функции с логическими операторами, можно создавать сложные системы валидации данных. Например, можно настроить проверку, которая будет подсвечивать ячейку, если в поле для дат введен текст, тем самым предотвращая ошибки в расчетах.

  • 🔍 Функция ТИП: Возвращает число от 1 до 6, обозначающее тип данных (число, текст, логическое, ошибка, массив, пустота).
  • 📝 Функция ИНФОРМ: Предоставляет сведения о текущей среде вычислений, операционной системе и версии Excel.
  • 📐 Функция ЯЧЕЙКА: Дает подробную информацию о форматировании и расположении ячейки, включая тип содержимого.

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

📊 Какой инструмент анализа вы используете чаще?
Функцию ТИП (TYPE)
Функцию ЯЧЕЙКА (CELL)
Визуальную проверку
Макросы VBA

Диагностика ошибок и типов данных

Когда пользователь спрашивает «что это», он часто имеет в виду причину появления ошибки в ячейке, такой как #ЗНАЧ! или #Н/Д. Для диагностики таких ситуаций применяется функция ЕОШИБКА (ISERROR) или ее более новые варианты ЕСЛИОШИБКА (IFERROR). Эти инструменты позволяют перехватывать стандартные коды ошибок и заменять их понятным пользователю текстом, объясняющим, что пошло не так в вычислениях.

Особое внимание стоит уделить функции ЕТЕКСТ (ISTEXT) и ЕЧИСЛО (ISNUMBER). Они возвращают логическое значение ИСТИНА или ЛОЖЬ, что идеально подходит для создания условий. Например, если в столбце с ценами случайно оказался текст «по запросу», функция СУММ проигнорирует эту ячейку, но формула с проверкой типа данных позволит вывести предупреждение. Это делает таблицы более устойчивыми к человеческому фактору.

Функция Описание Пример результата
ТИП() Определяет тип данных 1 (число), 2 (текст)
ЕОШИБКА() Проверяет на любую ошибку ИСТИНА / ЛОЖЬ
ЯЧЕЙКА("тип") Тип содержимого ячейки "v" (пусто), "l" (текст)
ЕЧИСЛО() Проверка на числовое значение ИСТИНА / ЛОЖЬ

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

Работа с именами и псевдо-функциями

Иногда слово «ЧТО» может появиться в формуле как результат работы Диспетчера имен. Пользователи часто создают именованные диапазоны для упрощения формул, давая им понятные названия. Если в книге определен диапазон с именем ЧТО, то формула =ЧТО вернет значение или массив значений, содержащихся в этом диапазоне. Это не встроенная функция, а ссылка на область ячеек.

Проверить определенные имена можно через вкладку «Формулы» -> «Диспетчер имен». Там отображается список всех глобальных и локальных имен, их область действия и формулы, на которые они ссылаются. Это удобный способ абстрагироваться от адресации ячеек (например, A1:B10) и использовать смысловые названия (например, СтавкаНДС или СписокГородов).

☑️ Проверка имен в файле

Выполнено: 0 / 4

Использование имен делает формулы читаемыми. Вместо =VLOOKUP(A1; Sheet2!A:B; 2; 0) вы можете написать =VLOOKUP(A1; Прайс_лист; 2; 0). Однако важно следить за уникальности имен, так как наличие дубликатов или зарезервированных слов может вызвать конфликты. Если вы видите в формуле слово, которое не является стандартной функцией Excel, с вероятностью 99% это определенное пользоватemлем имя.

Использование в макросах и VBA

В языке программирования Visual Basic for Applications (VBA) концепция вопроса «что это» реализуется через оператор TypeName или функцию VarType. Эти инструменты позволяют скрипту определять тип переменной или объекта в рантайме и принимать решения на основе полученной информации. Это необходимо для написания универсального кода, который может обрабатывать разные типы входных данных без сбоев.

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

⚠️ Внимание: При работе с VBA будьте осторожны с функцией TypeName, так как она возвращает строковое представление типа (например, "Range", "String"), которое зависит от языка интерфейса и настроек системы.

Кроме того, в VBA существует объект Application.Caller, который сообщает, какая именно функция или макрос вызвал текущий код. Это своего рода ответ на вопрос «кто меня вызвал», что полезно для отладки и логирования действий пользователя в больших проектах автоматизации.

Практические примеры замены устаревших команд

Рассмотрим конкретный пример замены логики «узнать что в ячейке». Раньше можно было бы использовать специфические команды, теперь же мы пишем формулу: =ЕСЛИ(ЕЧИСЛО(A1); "Это число"; ЕСЛИ(ЕТЕКСТ(A1); "Это текст"; "Другое")). Такая конструкция явно классифицирует содержимое ячейки A1 и выдает понятный результат. Это базовый паттерн обработки данных, который должен знать каждый продвинутый пользователь.

Другой пример — проверка на ошибки. Вместо того чтобы гадать, почему формула не работает, используйте =ЕСЛИОШИБКА(ВАША_ФОРМУЛА; "Проверьте исходные данные"). Это не только скрывает страшные коды ошибок от конечного пользователя, но и дает подсказку, что нужно сделать для исправления ситуации. Такой подход повышает usability любых таблиц, которыми пользуются другие люди.

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

Можно ли восстановить функцию ЧТО в Excel?

Восстановить удаленную функцию средствами пользователя невозможно. Однако можно создать свою пользовательскую функцию (UDF) на VBA с именем WHAT или ЧТО, которая будет выполнять нужный вам код. Для этого нужно открыть редактор VBA (Alt+F11), вставить новый модуль и написать код Function ЧТО(val As Variant) As String ... End Function.

Почему формула возвращает #ИМЯ? при использовании слова ЧТО?

Ошибка #ИМЯ? означает, что Excel не распознает текст в формуле как команду, функцию или определенное имя. Поскольку встроенной функции ЧТО не существует, программа считает это ошибкой синтаксиса, если только вы предварительно не создали именованны диапазон с таким названием.

Какая функция полностью заменяет WHAT из Lotus 1-2-3?

Прямого аналога «один в один» нет, так как философия работы изменилась. Ближайший функциональный аналог для поиска — инструмент «Найти и выделить» (Ctrl+F), а для программной проверки типа данных — связка функций ТИП и ЯЧЕЙКА в комбинации с логическими операторами.