Преобразование чисел в текст и исправление ошибок отображения в Excel
Чтобы превратить число в текст (например, «1250» в «одна тысяча двести пятьдесят») или исправить ситуацию, когда вместо цифр видны решетки (#####) или данные воспринимаются как текст, нужно использовать специальные функции, пользовательские форматы или изменить ширину столбца. Стандартными средствами Excel просто так «перевести» число в слова нельзя — требуется формула с надстройкой или макрос. Если же проблема в том, что цифры не видны или не считаются числами, решение кроется в настройках формата ячеек.
Ниже приведены решения для обеих задач: конвертация числа в словесное описание и устранение технических ошибок отображения.
Краткий ответ:
- Число прописью: Используйте функцию
РУБЛЬ()(для валют) или пользовательскую функцию (макрос/надстройку), так как встроенной формулы для полного перевода нет. - Решетка (#####): Расширьте столбец.
- Число стало текстом: Измените формат ячейки на «Числовой» и примените «Текст по столбцам».
Как написать число прописью (сумма прописью)
В русском языке эта задача чаще всего возникает при заполнении финансовых документов. В английской версии Excel есть функция SPELLNUMBER, но в русской локали она отсутствует по умолчанию.
Способ 1. Использование функции РУБЛЬ (только для валют)
Если вам нужно отобразить сумму в рублях, можно использовать встроенную, но скрытую функцию.
Формула выглядит так:
=РУБЛЬ(A1; 2)
Где A1 — ячейка с числом, а 2 — количество знаков после запятой.
Результат: «сто двадцать пять руб. 00 коп.»
Функция РУБЛЬ работает нестабильно в некоторых новых версиях Excel и может быть недоступна без подключения надстроек. Она также не склоняет слова корректно во всех падежах.
Способ 2. Пользовательская функция (Макрос VBA) — самый надежный вариант
Для полноценного перевода любых чисел в текст (не только денег) лучше всего создать свою функцию.
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - В меню выберите Insert > Module.
- Вставьте следующий код (упрощенная версия для целых чисел):
Function SumPropis(ByVal MyNumber As Double) As String
Dim Units As Variant, Tens As Variant, Hundreds As Variant
Dim TempStr As String, WholePart As Long, FracPart As Integer
' Массивы слов необходимо заполнить полностью для корректной работы
' Это пример структуры, полный код занимает несколько экранов
' Рекомендуется скачать готовую надстройку "Сумма Прописью",
' так как полный алгоритм склонения слишком велик для статьи.
SumPropis = "Требуется полная установка надстройки или скрипта"
End Function
Рекомендация: Поскольку полный код функции склонения очень объемный, практичнее скачать бесплатную надстройку «Сумма Прописью» (доступна в открытом доступе для российских пользователей). После установки она добавляет функцию =СУММАПРОПИСЬЮ(A1).
Способ 3. Онлайн-конвертеры и буфер обмена
Если макросы запрещены политикой безопасности компании:
- Скопируйте число из Excel.
- Вставьте в онлайн-сервис «Число прописью».
- Скопируйте результат обратно в ячейку как текст.
Исправление ошибок отображения: решетки и текстовый формат
Часто пользователи путают задачу «перевести в текст» с ситуацией, когда Excel некорректно отображает цифры.
Проблема 1: Вместо цифр знаки решетки (#####)
Это не ошибка данных, а сигнал о том, что столбец слишком узок. Решение:
- Наведите курсор на правую границу заголовка столбца (например, между буквами A и B).
- Когда курсор превратится в двунаправленную стрелку, дважды кликните левой кнопкой мыши (автоподбор ширины).
- Либо перетащите границу вправо вручную.
Проблема 2: Числа сохранены как текст (зеленый треугольник)
Если числа выровнены по левому краю и не участвуют в расчетах, они имеют текстовый формат. Решение через «Текст по столбцам» (самый быстрый метод):
- Выделите проблемный столбец.
- Перейдите на вкладку Данные → Текст по столбцам.
- В появившемся окне сразу нажмите Готово (настройки менять не нужно). Это принудительно перезапишет формат данных на числовой.
Лайфхак: Если нужно быстро превратить «текстовые числа» в настоящие, введите цифру 1 в любую пустую ячейку, скопируйте её, затем выделите диапазон с проблемами и нажмите: Правка → Вставить специально → Умножить. Это математически преобразует текст в число.
Как сделать обратное: превратить текст в число
Иногда требуется ситуация, когда буквы (например, артикулы с ведущими нулями «0054») должны остаться текстом, но иногда их нужно считать числами.
- Выделите ячейки.
- Нажмите
Ctrl + 1(Формат ячеек). - Выберите Текстовый, если нужно сохранить ведущие нули.
- Выберите Числовой, если нужно проводить вычисления (ведущие нули исчезнут).
Сравнение методов преобразования
| Задача | Метод | Плюсы | Минусы |
|---|---|---|---|
| Сумма прописью (рубли) | Функция =РУБЛЬ() | Не требует макросов | Работает только с валютой, может отсутствовать |
| Любое число прописью | Надстройка / Макрос | Полное склонение, гибкость | Требует включения макросов (.xlsm) |
| Исправление ##### | Автоширина столбца | Мгновенно | Не решает проблему, если текст действительно длинный |
| Текст → Число | Текст по столбцам | Массовое исправление | Меняет формат навсегда |
Частые ошибки
- Попытка использовать формат ячеек для перевода в слова. Изменение формата на «Текстовый» не превратит число
123в слово «сто двадцать три». Оно лишь запретит математические операции с ним. - Игнорирование региональных настроек. Разделители дробной части (точка или запятая) могут ломать формулы конвертации. Проверьте настройки в Файл > Параметры > Дополнительно.
- Слияние ячеек. Часто мешает корректному расширению столбцов и работе макросов. Избегайте слияния в базах данных.
FAQ
Можно ли перевести число в текст без макросов?
Полноценно (склоняя падежи) — нет, только через сложные вложенные формулы, которые трудно поддерживать. Для валют попробуйте =РУБЛЬ().
Почему после ввода числа появляется апостроф (')? Апостроф означает, что ячейка принудительно отформатирована как текст перед вводом. Чтобы убрать его, измените формат ячейки на «Общий» или «Числовой» и используйте метод «Текст по столбцам».
Как убрать зеленый треугольник в углу ячейки? Это предупреждение о числе, сохраненном как текст. Выделите ячейки, нажмите на желтый значок восклицательного знака рядом и выберите «Преобразовать в число».