Вопрос или проблема
Вот мой Excel.
Если я объединяю поле даты 31/03/2026, оно объединяется как дата: 46112, используя =CONCAT("date: ",A1)
.
Пробовал сделать =FORMAT(A1, “dd/mm/yyyy”), но, кажется, функция вызывает ошибку.
Как правильно это сделать?
Ответ или решение
Проблема, с которой вы столкнулись при конкатенации даты в Excel, связана с тем, как программа обрабатывает дату и временные значения. Excel хранит даты как числовые значения, что объясняет, почему при использовании функции CONCAT
вы видите число 46112 вместо отформатированной даты 31/03/2026.
Давайте разберем вашу ситуацию более подробно и предложим решения.
Почему число вместо даты?
В Excel даты хранятся в виде последовательных чисел, считая с 1 января 1900 года. В вашем случае 31/03/2026 соответствует числу 46112, потому что это 46112-й день с 1 января 1900 года. Поэтому, когда вы используете =CONCAT("date: ",A1)
, Excel воспринимает содержимое ячейки A1 как число, а не как дату, и просто объединяет строку «date: » с числовым значением.
Почему не работает функция FORMAT?
Функция FORMAT
, которая часто ассоциируется с форматированием строк, в стандартном Excel, как правило, недоступна. Такие возможности можно встретить в других системах или с помощью VBA или Power Query. Ошибки при использовании =FORMAT(A1, "dd/mm/yyyy")
возникают из-за отсутствия данной функции в вашей версии Excel или неправильно заданного контекста использования.
Как правильно конкатенировать дату?
Для достижения вашей цели — конкатенирования даты в читаемой форме — вы можете воспользоваться двумя подходами:
Подход 1: Использовать функцию TEXT
Функция TEXT
позволяет преобразовывать числовые значения в текстовый формат, в том числе для отображения дат.
=CONCAT("date: ", TEXT(A1, "dd/mm/yyyy"))
Здесь TEXT(A1, "dd/mm/yyyy")
преобразует номер даты в текстовый формат "день/месяц/год", и затем функция CONCAT
объединяет эту строку с текстом «date: ».
Подход 2 (более современный): Использовать TEXTJOIN
В более новых версиях Excel можно использовать TEXTJOIN
, если необходимо объединить несколько элементов:
=TEXTJOIN("", TRUE, "date: ", TEXT(A1, "dd/mm/yyyy"))
Заключение
Ваш вопрос демонстрирует важность понимания того, как данные, такие как даты, обрабатываются в Excel. Применение функции TEXT
позволяет конвертировать дата-номера в относительные текстовые форматы, что эффективно решает вашу проблему с конкатенацией. Если у вас есть доступ к более новым функциям Excel, таким как TEXTJOIN
, это расширит ваши возможности по обработке текстовых данных.
Этот ответ поможет вам эффективно работать с датами в Excel, решая распространенные проблемы, связанные с форматом и представленностью данных.