Почему NumToText возвращает #ИМЯ? И другие ошибки
Если в формуле вписали NumToText и получили #ИМЯ? —
дело не в баге: такой функции просто не существует, правильное
имя — Num2Text. Но и с верным написанием формула
иногда выдаёт ошибку или странный результат. Разбираем причины
по порядку — от опечатки до незагруженных макросов.
Опубликовано
Сначала проверьте самое частое: имя функции
Функция называется Num2Text — с цифрой «2», а не
словом. На слух и по смыслу «2» и «to» в английском звучат
одинаково, поэтому название легко вспомнить неточно и вписать
в формулу NumToText или NumberToText
— такой функции в файле нет, и Excel закономерно отвечает
#ИМЯ?. Откройте ячейку с формулой и сверьте написание посимвольно
— это самая частая причина ошибки и самая быстрая для проверки.
=NumToText(A1;1;0;0;1) ← #ИМЯ?, такой функции нет
=Num2Text(A1;1;0;0;1) ← верно
Имя написано верно, а #ИМЯ? всё равно есть
Если название функции точно верное, а ошибка осталась — значит, сама функция не загружена в книгу, где вы её вызываете. Причины сводятся к трём:
- Макросы не были разрешены при открытии файла. Без разрешения макросов код функции Num2Text вообще не выполняется, а формула, которая на него ссылается, не может найти такое имя — подробно про жёлтую панель и разовое разрешение в статье «Как включить макросы в Excel безопасно».
-
Формула скопирована в другую книгу без самого модуля.
Формула — это просто текст, а не код: если скопировать ячейку
с
=Num2Text(...)в файл, где нет модуля VBA с определением этой функции, Excel видит незнакомое имя. Модуль нужно импортировать отдельно (Alt+F11 → импорт файла модуля) — этот шаг описан в статье «Как написать сумму прописью в Excel». -
Файл пересохранили в формате без макросов.
Если книгу с функцией сохранить как обычный
.xlsx(вместо.xlsm), Excel предупредит о потере возможностей, но при подтверждении сохранит файл без макросов — код функции пропадёт, и при следующем открытии формула выдаст #ИМЯ?, даже если раньше работала.
Другие ошибки — не #ИМЯ?, но тоже связаны с Num2Text
- #ЗНАЧ! — функция найдена и запущена, но получила аргумент не того типа: например, в первом параметре (сумма) стоит ссылка на пустую ячейку или на ячейку с текстом вместо числа. Проверьте, что ячейка с суммой действительно распознаётся Excel как число, а не как текст.
- #ССЫЛКА! — ячейка, на которую ссылается формула, была удалена (например, удалили строку или столбец с исходной суммой). Формулу придётся переписать заново, указав актуальную ячейку.
-
Результат считается, но выглядит бессмысленно.
Это не ошибка формулы, а неверно выбранный параметр единиц
измерения (
unitGroup) — например, режим с валютой применили к пробегу, и вместо «1 240 (Одна тысяча двести сорок)» получается «1 240 (Одна тысяча двести сорок) белорусских рублей». Формула отработала правильно, просто параметр стоит не тот.
Чек-лист диагностики по порядку
- Сверьте написание имени функции посимвольно:
Num2Text, а неNumToText. - Проверьте, была ли нажата кнопка «Включить содержимое» при открытии именно этого файла.
- Убедитесь, что файл сохранён в формате
.xlsm, а не.xlsx— формат виден в имени файла или в диалоге «Сохранить как». - Если формула скопирована в другую книгу — перенесите туда и модуль VBA (Alt+F11 → импорт).
- Проверьте тип и содержимое ячейки с суммой — число, а не текст и не пусто.
- Если результат считается, но выглядит странно — проверьте параметр единиц измерения, а не саму формулу.
Часто задаваемые вопросы
Функция называется Num2Text или NumToText?
Правильное имя — Num2Text, с цифрой «2» вместо слова «to». Спутать легко: по смыслу и на слух «2» и «to» в английском произносятся одинаково, поэтому многие вспоминают название неточно и вписывают в формулу несуществующую функцию NumToText — Excel в ответ показывает #ИМЯ?.
Почему #ИМЯ? появляется даже при правильном написании формулы?
Чаще всего дело не в опечатке, а в том, что сама функция не загружена в текущую книгу: либо макросы не были разрешены при открытии файла, либо формула скопирована в другую книгу без переноса туда модуля VBA с кодом функции.
Формула работала, а после пересохранения файла #ИМЯ? появилась снова — почему?
Похоже, файл сохранили в формате .xlsx вместо .xlsm (или .xls вместо .xlsm) — обычный формат книги Excel не хранит макросы вообще, и Excel при сохранении в него без предупреждения удаляет весь код, включая функцию Num2Text.
Чем #ЗНАЧ! отличается от #ИМЯ? в формуле с Num2Text?
#ИМЯ? значит, что Excel не нашёл саму функцию с таким именем — проблема до вычисления. #ЗНАЧ! появляется, когда функция найдена и запущена, но получила аргумент не того типа — например, текст вместо числа в первом параметре.
Результат считается без ошибки, но выглядит неправильно — это тоже баг функции?
Нет, обычно это не ошибка формулы, а неверно выбранный параметр единиц измерения (unitGroup): например, режим с валютой применили к пробегу или количеству — результат получается технически корректным по формуле, но бессмысленным по смыслу. Как выбрать правильный режим — в статье «Число прописью для нумерации документов».
Что дальше
Если функция ещё не установлена — скачать файл с
Num2Text и посмотреть базовые примеры формул можно
на странице инструмента «Сумма
прописью». Про сам процесс подключения функции и разбор
других частых проблем — в статье «Как
написать сумму прописью в Excel».
Num2Text — готовая функция, без опечаток и настройки с нуля
Скачайте файл с рабочей функцией и примерами формул или воспользуйтесь онлайн-калькулятором прямо в браузере — без Excel и без макросов вовсе.