Как установить текстовый формат в Excel: 5 способов + решение ошибок

Если в ячейках Microsoft Excel автоматически удаляются ведущие нули (например, 00123 превращается в 123), а даты или номера телефонов преобразуются в нечитаемый формат — проблема в неправильном типе данных. По умолчанию программа интерпретирует ввод как числа или даты, даже если вам нужен текстовый формат. Исправить это можно за 3 клика: выделите ячейки → правой кнопкой выберите Формат ячеек → в категории Текстовый нажмите ОК. Но есть нюансы: такой метод не работает для уже введённых данных — их придётся перезаписать или использовать специальные функции.

В этой статье разберём все способы применить текстовый формат в Excel (включая Excel 365, 2019, 2016 и Excel Online), а также объясним, почему иногда формат сбрасывается и как это предотвратить. Особое внимание уделим типичным ошибкам: например, когда после изменения формата числа всё равно отображаются как даты или экспоненциальная запись (1.23E+10).

Почему Excel автоматически меняет текстовый формат

Программа Excel по умолчанию пытается "угадать" тип данных при вводе. Это приводит к следующим проблемам:

  • 🔢 Ведущие нули исчезают: ввод 004567 превращается в 4567 — типично для артикулов, почтовых индексов или номеров документов.
  • 📅 Даты преобразуются: текст 12.05.2026 становится датой 12-й мая 2026 г., что мешает работе с строковыми данными.
  • 📞 Номера телефонов ломаются: +7(912)345-67-89 может превратиться в 7.91235E+11.
  • 💰 Денежные значения округляются: 1000.00 становится 1000, если ячейка не форматирована как финансовая.

Причина кроется в настройках по умолчанию: Excel оптимизирован для числовых расчётов, а не для работы с текстом. Даже если вы вручную установите Текстовый формат после ввода данных, программа может не переконвертировать уже существующие значения. Например, число 123, введённое в ячейку с форматом Общий, останется числом даже после смены формата на Текстовый — его придётся переписать или использовать функцию =ТЕКСТ().

Способ 1: Изменение формата через контекстное меню

Самый быстрый метод для единичных ячеек или небольших диапазонов:

  1. Выделите ячейки или столбец (например, кликните по букве столбца A, чтобы выбрать его целиком).
  2. Нажмите правой кнопкой мыши и выберите Формат ячеек... (или используйте горячие клавиши Ctrl+1).
  3. В открывшемся окне перейдите на вкладку Число → выберите категорию ТекстовыйОК.

⚠️ Внимание: Если в ячейках уже были данные, они не преобразуются автоматически. Например, число 123 останется числом, даже если вы установите текстовый формат. Чтобы исправить это, дважды кликните по ячейке и нажмите Enter — так вы "перезапишете" значение в новом формате.

Выделите диапазон|Установите формат "Текстовый"|Введите данные заново или перезапишите существующие|Проверьте отображение ведущих нулей и символов-->

Способ 2: Горячие клавиши для текстового формата

Для ускорения работы используйте комбинации клавиш:

  • 🔑 Ctrl+1 → открывает окно Формат ячеек (работает во всех версиях Excel).
  • 🔑 Alt+H, затем F, затем M → последовательность для выбора текстового формата (в Excel 2016+).
  • 🔑 Ctrl+Shift+~ → применяет Общий формат, но если ячейка уже текстового типа, сбрасывает её к базовому виду (полезно для сброса ошибочных форматов).

Если горячие клавиши не работают, проверьте:

  • 🖥️ Настройки клавиатуры в Windows (возможно, отключены сочетания для Excel).
  • 📋 Версию Excel: в Excel Online некоторые комбинации могут отличаться.
  • 🔄 Язык интерфейса: в русскоязычной версии Excel меню открывается по Ctrl+1, а в английской — по Ctrl+Shift+F.

Способ 3: Предварительное форматирование перед вводом данных

Чтобы избежать автоматического преобразования, сначала установите текстовый формат, а потом вводите данные. Это особенно важно для:

  • 📊 Артикулов и SKU (например, PRD-00456).
  • 📞 Номеров телефонов с плюсами или скобками (+7(999)123-45-67).
  • 📅 Даты в нестандартном формате (например, 2026/05/12 вместо 12.05.2026).
  • 💳 Номеров кредитных карт (16 цифр подряд).

Инструкция:

  1. Выделите пустые ячейки, куда планируете ввод.
  2. Примените текстовый формат (через Ctrl+1 или контекстное меню).
  3. Только после этого вводите данные. Теперь Excel не будет их преобразовывать.
Что делать, если данные уже введены неверно?

Если вы забыли установить текстовый формат до ввода, используйте один из методов:

1. Перезапишите данные вручную (дважды кликните по ячейке → нажмите Enter).

2. Добавьте апостроф перед числом (например, '00123), но это добавит невидимый символ в данные.

3. Используйте функцию =ТЕКСТ(A1;"@") для принудительного преобразования.

Способ 4: Использование функции ТЕКСТ() для принудительного преобразования

Если данные уже введены в числовом или другом формате, а вам нужно их преобразовать в текст без потери ведущих нулей, используйте функцию =ТЕКСТ(). Синтаксис:

=ТЕКСТ(значение; "@")

Примеры:

Исходные данные (A1)ФормулаРезультат
00123 (введён как число)=ТЕКСТ(A1; "@")00123 (текст)
12.05.2026 (дата)=ТЕКСТ(A1; "dd.mm.yyyy")12.05.2026 (строка)
1.23E+10 (научное число)=ТЕКСТ(A1; "0")12300000000 (полное число)
+79123456789 (преобразовано в 7.91235E+11)=ТЕКСТ(A1; "@")+79123456789 (исходный вид)

⚠️ Внимание: Функция =ТЕКСТ() возвращает значение, а не изменяет формат ячейки. Если вам нужно, чтобы результат остался текстом после копирования, используйте Специальная вставка → Значения.

Способ 5: Импорт данных с сохранением текстового формата

При импорте данных из CSV, TXT или баз данных (SQL, Access) Excel часто преобразует текстовую информацию в числа или даты. Чтобы этого избежать:

  1. При импорте через Данные → Из текста/CSV на шаге Преобразование данных выберите столбец → установите тип данных Текст.
  2. Для файлов CSV откройте их через Блокнот, добавьте в начало файла строку sep=; (если разделитель — точка с запятой) и сохраните. При открытии в Excel выберите Импорт данных и вручную укажите текстовый формат для нужных столбцов.
  3. Для подключения к базе данных (SQL) в окне Свойства связи установите для числовых полей параметр Текст.

Если данные уже импортированы неверно:

  • 🔄 Используйте Текст по столбцам (Данные → Текст по столбцам) и на 3-м шаге выберите формат Текст для проблемных столбцов.
  • 📊 Примените функцию =ТЕКСТ() к импортированным данным (см. Способ 4).

Контекстное меню (правый клик)|Горячие клавиши (Ctrl+1)|Функция ТЕКСТ()|Предварительное форматирование перед вводом-->

Типичные ошибки и как их исправить

Даже после смены формата пользователи сталкиваются с проблемами. Разберём самые частые:

ПроблемаПричинаРешение
Ведущие нули исчезают после сохранения файла Файл сохранён в формате .xlsx, который оптимизирует данные Сохраните файл как .csv или используйте апостроф ('00123)
Даты отображаются как числа (например, 45367) Excel хранит даты как числовые значения (количество дней с 1900 года) Используйте =ТЕКСТ(A1; "dd.mm.yyyy") или измените формат на Дата
Большие числа преобразуются в научный формат (1.23E+10) Excel упрощает отображение длинных чисел Примените текстовый формат до ввода или используйте =ТЕКСТ(A1; "0")
Формат сбрасывается после обновления данных Динамические диапазоны или таблицы Excel переопределяют форматы Закрепите формат через Условное форматирование или VBA-макрос

Критическая ошибка: Если вы экспортируете данные из Excel в другие системы (например, или SQL), текстовые числа с ведущими нулями могут обрезаться. Чтобы этого избежать, используйте формулу =РЕПЛ(A1;"";"")&"" — она принудительно преобразует значение в строку.

Автоматизация: VBA-макрос для массового применения текстового формата

Если вам регулярно нужно применять текстовый формат к большим диапазонам, используйте VBA-макрос. Например, этот код преобразует все выделенные ячейки в текстовый формат:

Sub SetTextFormat()

Dim rng As Range

For Each rng In Selection

rng.NumberFormat = "@" ' Текстовый формат

rng.Value = rng.Value ' Перезапись значения для применения формата

Next rng

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите ячейки в Excel и запустите макрос (F5).

⚠️ Внимание: Макрос перезаписывает значения ячеек. Если в них были формулы, они преобразуются в статические значения. Чтобы избежать этого, модифицируйте код:

Sub SetTextFormatPreserveFormulas()

Dim rng As Range

For Each rng In Selection

If Not rng.HasFormula Then

rng.NumberFormat = "@"

rng.Value = rng.Value

End If

Next rng

End Sub

FAQ: Частые вопросы по текстовому формату в Excel

Почему после установки текстового формата числа всё равно отображаются как даты?

Это происходит, если данные были введены до смены формата. Excel не преобразует существующие значения автоматически. Решения:

  • Дважды кликните по ячейке и нажмите Enter.
  • Используйте функцию =ТЕКСТ(A1; "@").
  • Скопируйте данные в Блокнот, а затем вставьте обратно в Excel.
Как сохранить ведущие нули при экспорте в CSV?

CSV-файлы не сохраняют информацию о форматах. Чтобы ведущие нули не исчезли:

  • Добавьте апостроф перед числом ('00123).
  • Используйте формулу =ТЕКСТ(A1; "@") и экспортируйте результаты.
  • Сохраните файл в формате TXT с разделителями табуляции (.txt).
Можно ли применить текстовый формат ко всей книге сразу?

Нет, в Excel нет встроенной функции для массового изменения формата всех листов. Альтернативы:

  • Используйте VBA-макрос (см. раздел выше).
  • Выделите все листы (правый клик по ярлыку листа → Выделить все листы), затем примените формат к нужному диапазону.
  • Воспользуйтесь надстройками вроде Kutools for Excel (платная утилита).
Почему текстовый формат не работает для ячеек с формулами?

Формат ячейки не влияет на результат формулы — только на её отображение. Если формула возвращает число (например, =123), то даже в текстовом формате оно будет отображаться как число. Решения:

  • Оберните формулу в =ТЕКСТ(): =ТЕКСТ(123; "@").
  • Используйте функцию =СЦЕПИТЬ("")&123 (в новых версиях — =ОБЪЕДИНИТЬ("";123)).
Как вернуть числовой формат после текстового?

Если данные в текстовом формате нужно преобразовать обратно в числа:

  • Установите формат Общий или Числовой.
  • Используйте функцию =ЗНАЧЕН(A1) (преобразует текстовые числа в числовой формат).
  • Дважды кликните по ячейке и нажмите Enter (иногда срабатывает для простых чисел).

⚠️ Обратите внимание: если текст содержит нечисловые символы (например, 123abc), функция =ЗНАЧЕН() вернёт ошибку #ЗНАЧ!.