Объединение даты и текста в Excel: правильные формулы

Иван Корнев·21.05.2024·4 мин

Чтобы объединить дату с текстом в Excel без потери формата (чтобы вместо «45432» отображалось «15.04.2024»), необходимо использовать функцию TEXT внутри формулы сцепки. Самый быстрый способ: ="Текст " & TEXT(A1; "ДД.ММ.ГГГГ"). Без функции TEXT Excel преобразует дату в её порядковый номер, так как внутри программы даты хранятся как числа.

Ниже рассмотрены все актуальные методы: от универсального оператора & до современных функций для списков.

Почему дата превращается в число при объединении

В Excel дата — это числовое значение (количество дней, прошедших с 1 января 1900 года). Когда вы пытаетесь просто склеить ячейку с датой и строку, программа игнорирует визуальное форматирование ячейки и подставляет исходное числовое значение.

Типичная ошибка: формула ="Отчет за " & A1, где в A1 лежит дата, вернет результат вида «Отчет за 45432». Чтобы этого избежать, дату нужно явно преобразовать в текст с указанием шаблона.

Способ 1: Оператор & и функция TEXT (Универсальный метод)

Это самый надежный вариант, работающий во всех версиях Excel. Оператор амперсанда (&) соединяет значения, а функция TEXT задает нужный вид дате.

Синтаксис: ="Ваш текст " & TEXT(ячейка_с_датой; "код_формата")

Примеры использования:

  1. Стандартный формат (ДД.ММ.ГГГГ): Если в ячейке A1 дата, а нужно получить «Срок: 15.04.2024»:
    ="Срок: " & TEXT(A1; "ДД.ММ.ГГГГ")
    ```

2.  **Дата прописью (месяц словом):**
    Для фразы «15 апреля 2024 г.» используйте код `ДД ММММ ГГГГ`:
    
```excel
    =TEXT(A1; "ДД ММММ ГГГГ") & " г."
    ```
    *Результат:* 15 апреля 2024 г.

3.  **Американский формат или для файлов:**
    Часто требуется формат ГГГГ-ММ-ДД:
    
```excel
    ="Файл_" & TEXT(A1; "ГГГГ-ММ-ДД") & ".xlsx"
    ```
    *Результат:* Файл_2024-04-15.xlsx

### Таблица популярных кодов форматирования

<div class="table-container"><table style="border-collapse: collapse; width: 100%; margin: 16px 0;"><thead><tr><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Код формата</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Пример результата для 15.04.2024</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Описание</th></tr></thead><tbody><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ДД.ММ.ГГГГ</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">15.04.2024</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Стандартный русский формат</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ДД ММММ ГГГГ</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">15 апреля 2024</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Полное название месяца</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ДД МММ ГГ</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">15 апр 24</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Сокращенный месяц и год</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ДД/ММ/ГГ</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">15/04/24</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Краткий формат через слэш</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ДДДД, ДД ММММ</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">понедельник, 15 апреля</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">День недели и полная дата</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">ГГГГ-ММ-ДД</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">2024-04-15</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Международный стандарт (ISO)</td></tr></tbody></table></div>


В русской версии Excel разделителем аргументов в формулах обычно является точка с запятой (;). Если у вас английская локализация или специфические настройки, используйте запятую (,).

Способ 2: Функции CONCAT и CONCATENATE

Функция CONCATENATE устарела, но все еще работает. Ей на смену пришла более гибкая CONCAT. Принцип работы с датами остается тем же: обязательно оборачивайте дату в TEXT.

Пример с CONCAT:

=CONCAT("Заказ №"; B1; " от "; TEXT(A1; "ДД.ММ.ГГ"))

Если в B1 номер заказа, а в A1 дата, формула создаст строку вида: «Заказ №123 от 15.04.24».

Использование CONCAT предпочтительнее CONCATENATE в новых версиях (Excel 2016 и новее), так как она позволяет выделять диапазоны ячеек, хотя для единичных дат разница несущественна.

Способ 3: Объединение списков дат через TEXTJOIN

Если нужно собрать несколько дат из диапазона в одну строку через разделитель (например, для перечисления дат отпусков или платежей), используйте функцию TEXTJOIN (доступна в Excel 2019 и Microsoft 365).

Задача: Объединить даты из диапазона A1:A3 через запятую. Формула:

=TEXTJOIN(", "; ИСТИНА; TEXT(A1:A3; "ДД.ММ.ГГ"))

Важно: В старых версиях Excel эта формула может потребовать ввода как формулы массива (Ctrl+Shift+Enter), либо потребуется вспомогательный столбец, где каждая дата сначала переводится в текст функцией TEXT, а затем склеивается.

Обработка пустых ячеек и условия

Часто дата может отсутствовать. Чтобы вместо ошибки или странного текста вывести корректное сообщение, добавьте проверку через ЕСЛИ (или IF).

Пример: Если дата есть — пишем «Отчет за [дата]», если нет — «Дата не указана».

=ЕСЛИ(A1=""; "Дата не указана"; "Отчет за " & TEXT(A1; "ДД.ММ.ГГГГ"))

Также можно менять формат в зависимости от условия. Например, если дата в текущем году, показывать только день и месяц, а если в прошлом — полный год:

="Событие: " & ЕСЛИ(ГОД(A1)=ГОД(СЕГОДНЯ()); TEXT(A1; "ДД ММММ"); TEXT(A1; "ДД.ММ.ГГГГ"))

Частые ошибки

  • Игнорирование функции TEXT. Самая частая проблема — получение пятизначного числа вместо даты. Решение всегда одно: обернуть ссылку на дату в TEXT(...; "...").
  • Неверные коды месяцев. Использование латинских букв (MM, YYYY) в русской версии Excel часто приводит к тому, что месяц отображается цифрой или английским названием, даже если интерфейс программы русский. Для русского языка используйте кириллические коды: ММ (месяц цифрой), ММММ (месяц словом).
  • Лишние пробелы. При склейке через & не забывайте добавлять пробелы вручную внутри кавычек: "Текст" & " " & Дата. Без этого слова слипнутся с цифрами.

FAQ

Можно ли изменить формат даты после объединения? Нет. Результат формулы — это текст. Изменить его через меню «Формат ячеек» уже нельзя. Нужно править код формата внутри самой функции TEXT.

Как сделать первую букву месяца заглавной? Функция TEXT в русской локализации автоматически пишет названия месяцев со строчной буквы (январь, февраль). Чтобы сделать заглавную, можно использовать функцию ПРОПНАЧ (или PROPER): =ПРОПНАЧ(TEXT(A1; "дд мммм гггг")) → «15 Апрель 2024».

Работают ли эти формулы в Google Таблицах? Да, синтаксис полностью совместим. Функции TEXT, CONCATENATE, & и TEXTJOIN работают аналогичным образом.