Даты в Excel часто приходится преобразовывать в текстовый формат для удобства работы с ними. В этой статье мы подробно разберем, как перевести дату в текст в Excel с помощью встроенных функций и VBA.
Зачем нужно преобразовывать дату в текст в Excel
В Excel даты по умолчанию хранятся и отображаются в виде так называемых серийных номеров - числовых значений, соответствующих количеству дней, прошедших с некой начальной даты (чаще всего с 1 января 1900 года). Например, дата 1 января 2023 года имеет серийный номер 44913
, так как с 1 января 1900 года до этой даты прошло 44913 дней.
Такой формат удобен для выполнения различных вычислений и операций с датами, однако человеку такие значения непонятны. Поэтому в Excel предусмотрены средства для конвертации даты в привычный текстовый формат.
Когда это может понадобиться:
- Объединение даты и произвольного текста в одной ячейке
- Вывод даты в нужном текстовом формате (например, "01 января 2023 г.")
- Сортировка или фильтрация данных по текстовым значениям дат
Основные способы преобразования:
- С помощью функции TEXT с нужной маской формата даты
- Через изменение формата ячеек
- Используя VBA-код для автоматизации конвертации
Далее мы подробно разберем каждый из этих вариантов.
Пошаговая инструкция преобразования с помощью функции TEXT
Для "excel преобразовать дату в текст" в нужном формате удобнее всего использовать стандартную функцию TEXT.
Ее синтаксис:
=TEXT(date, format)
Где date - дата, которую надо преобразовать, а format - "маска" нужного текстового формата.
Например, формула:
=TEXT(A1, "дд.мм.гггг")
Преобразует дату из ячейки A1 в текст по маске "дд.мм.гггг". То есть в виде "01.01.2023".
Исходная дата | 01.01.2023 (серийный номер) |
Формула | =TEXT(A1, "дд.мм.гггг") |
Результат | 01.01.2023 (текст) |
Таким образом можно получить любой необходимый текстовый формат:
- ДД.ММ.ГГГГ
- ДД МММ ГГГГ (например, 01 Января 2023)
- ДД.ММ (01.01)
И многие другие варианты.
Шаги преобразования с TEXT:
- В ячейке со встроенной функцией TEXT укажите ссылку на ячейку с датой
- В кавычках пропишите нужный текстовый формат ("дд.мм.гггг")
- Нажмите Enter и вы увидите преобразованную дату
Данный способ удобен тем, что позволяет динамически менять формат прямо в формуле. То есть без изменения настроек всего листа или отдельных ячеек.
Использование VBA для автоматизации преобразования
Если в рабочей книге много дат, которые регулярно приходится конвертировать в определенный текстовый формат, можно настроить автоматическое преобразование с помощью VBA-макроса.
Преимущества подхода:
- Минимум усилий при регулярном применении
- Гибкая настройка параметров конвертации
- Возможность привязки к событиям (открытие книги, изменение ячейки и т.д.)
Например, код макроса:
Sub DateToText() Dim dateCell As Range For Each dateCell In Range("A1:A10") dateCell = Format(dateCell, "дд.мм.гггг") Next dateCell End Sub
Этот простой макрос в ячейках диапазона A1:A10 в формат "дд.мм.гггг.
Применение условного форматирования
Еще один подход к автоматическому отображению дат как текста - использование условного форматирования в Excel.
Суть в том, чтобы установить нужный текстовый формат даты не для всего листа, а только для ячеек, удовлетворяющих определенному условию.
Например, для диапазона A1:A10:
- Выделяем весь диапазон ячеек
- Переходим на вкладку "Главная"
- Нажимаем на условное форматирование (значок треугольника и кисти)
- В окне правил выбираем "Ячейка содержит" -> Дату
- Устанавливаем нужный формат отображения даты (например, "01 Январь 2023 г.")
- Нажимаем ОК
В результате для всех ячеек с датами в выделенном диапазоне автоматически будет применен выбранный формат текстового представления.
Работа с импортированными датами
Иногда даты попадают на лист Excel уже в числовом формате - например, после импорта из CSV или базы данных.
Как быстро преобразовать их в нужный вид текста или формата даты?
Вариант 1 - через формат ячеек:
- Выделяем столбец с "числовыми" датами
- На вкладке "Главная" в группе "Число" выбираем нужный формат
- Например, "1-янв-2023" или "01 января 2023 г."
Вариант 2 - конвертировать в дату через спец. вставку:
- В отдельной ячейке применяем к этим "числам" функцию DATEVALUE
- Копируем получившийся результат
- Вставляем в нужные ячейки через "Специальная вставка - Значения"
- Получаем даты, к которым затем применяем нужный формат
Данные подходы могут значительно упростить работу с большими массивами дат в Excel.