Даты рождения в Microsoft Excel часто становятся источником головной боли: программа упорно воспринимает их как текст, путает день с месяцем или отображает в неудобном формате (например, 45678 вместо 12.05.1990). Проблема усложняется, когда данные импортируются из других систем — баз данных, 1С, или веб-форм, где формат может быть произвольным: от 1990-05-12 до May 12, 1990.
В этой статье разберём 5 рабочих способов преобразования дат рождения — от элементарного изменения формата ячейки до сложных формул для массовой обработки. Особое внимание уделим типичным ошибкам (например, когда Excel "не видит" дату в тексте) и автоматизации для больших таблиц. Все методы протестированы на версиях Excel 2010–2026 и Office 365, включая мобильную версию.
Если вы работаете с датами рождения в корпоративных отчётах, медицинских картах или HR-системах — сохраните эту статью в закладки. Здесь нет абстрактных советов: только конкретные шаги с примерами и предупреждениями о подводных камнях.
1. Базовый способ: изменение формата ячейки
Самый простой метод — когда дата уже распознана Excel как дата (не текст!), но отображается не так, как нужно. Например, вместо 12.05.1990 вы видите 5/12/1990 (американский формат) или 45678 (серийный номер даты).
Чтобы исправить:
- Выделите ячейки с датами.
- Нажмите правой кнопкой →
Формат ячеек(илиCtrl+1). - Вкладка
Число→ категорияДата. - Выберите нужный формат (например,
14.03.2012).
Если в списке нет подходящего варианта:
- 🔹 Выберите
(все форматы). - 🔹 В поле
Типвведите свой шаблон, например:ДД.ММ.ГГГГ→12.05.1990Д ММММ ГГГГ→12 мая 1990МММ-ГГ→май-90
⚠️ Внимание: Если после изменения формата ячейка показывает ######, значит, столбец слишком узкий. Растяните его или уменьшите размер шрифта.
2. Преобразование текста в дату: функция ДАТАЗНАЧ
Когда дата рождения хранится как текст (например, "12.05.1990" с кавычками или 12-05-1990), Excel не распознаёт её как дату. В этом случае поможет функция =ДАТАЗНАЧ() (в английской версии — =DATEVALUE()).
Формула преобразует текстовый формат в серийный номер даты, который затем можно отформатировать как угодно. Примеры:
| Исходный текст | Формула | Результат (после форматирования) |
|---|---|---|
"12.05.1990" | =ДАТАЗНАЧ(PODSTAVIT(A1; "."; "/")) | 12.05.1990 |
1990-05-12 | =ДАТАЗНАЧ(A1) | 12.05.1990 |
May 12, 1990 | =ДАТАЗНАЧ(PODSTAVIT(A1; ","; "")) | 12.05.1990 |
Для массового преобразования:
- В соседнем столбце введите формулу (например,
=ДАТАЗНАЧ(PODSTAVIT(B2; "."; "/"))). - Растяните формулу на все строки.
- Скопируйте результаты (
Ctrl+C) →Правка → Специальная вставка → Значения. - Удалите исходный столбец с текстом.
⚠️ Внимание: ФункцияДАТАЗНАЧне работает с датами до01.01.1900(ограничение Excel). Для исторических дат используйте=ДАТА(год; месяц; день).
Почему Excel путает день и месяц?
Excel по умолчанию использует региональные настройки системы. Если в вашей Windows установлен американский формат (ММ/ДД/ГГГГ), то 05.12.1990 будет интерпретировано как 5 декабря, а не 12 мая. Чтобы избежать этого, всегда используйте разделитель / или явную функцию ДАТА().
3. Разделение даты на день, месяц, год
Иногда требуется не просто изменить формат, а разбить дату рождения на отдельные компоненты — например, для анализа по месяцам или расчёта возраста. Для этого используйте функции:
- 🔹
=ДЕНЬ(A1)— извлекает день (1–31). - 🔹
=МЕСЯЦ(A1)— извлекает месяц (1–12). - 🔹
=ГОД(A1)— извлекает год (например, 1990). - 🔹
=ТЕКСТ(A1; "ДДДД")— возвращает день недели ("понедельник").
Пример расчёта возраста на сегодняшний день:
=ЦЕЛОЕ((СЕГОДНЯ()-A1)/365,25)
Где A1 — ячейка с датой рождения, а 365,25 учитывает високосные годы.
Для визуализации распределения дат рождения по месяцам:
- Создайте столбец с месяцами (
=МЕСЯЦ(A1)). - Постройте
гистограммуиликруговую диаграммупо этому столбцу.
Ячейка отформатирована как "Дата"|Функции ДЕНЬ/МЕСЯЦ/ГОД возвращают числа, а не ошибки|Для февраля проверено количество дней в високосный год|Результаты скопированы как "Значения" (не формулы)-->
4. Исправление ошибок: когда Excel "не видит" дату
Частая проблема: вы пытаетесь изменить формат, но Excel упорно воспринимает дату как текст. Причины и решения:
| Симптом | Причина | Решение |
|---|---|---|
| При изменении формата ничего не происходит | Дата хранится как текст | Используйте =ДАТАЗНАЧ() или Текст по столбцам (см. раздел 5) |
Дата отображается как ###### | Отрицательное значение или столбец слишком узкий | Растяните столбец или проверьте формулу на ошибки |
| День и месяц поменялись местами | Региональные настройки | Используйте =ДАТА(ГОД(); МЕСЯЦ(); ДЕНЬ()) с явным указанием компонентов |
| Дата сдвинута на 4 года (например, 1904 вместо 1900) | Настройка 1904 датная система в Mac-версии Excel | Перейдите в Файл → Параметры → Дополнительно и снимите флажок Использовать систему дат 1904 |
Критическая ошибка: если дата рождения до 1900 года (например, 1899), Excel не сможет её обработать стандартными функциями. В этом случае используйте текстовые функции или сторонние надстройки.
Для проверки, распознаёт ли Excel ячейку как дату, используйте функцию =ЕЧИСЛО(A1). Если результат ЛОЖЬ — ячейка содержит текст.
5. Массовое преобразование через "Текст по столбцам"
Если у вас тысячи строк с датами в нестандартном формате (например, 12051990 или 12/05/90), ручное редактирование займёт часы. Автоматизируйте процесс с помощью инструмента Текст по столбцам:
- Выделите столбец с датами.
- Перейдите на вкладку
Данные→Текст по столбцам. - Выберите
Фиксированная ширинаилиС разделителями(в зависимости от формата). - На шаге 3 укажите формат данных для каждого фрагмента:
- 🔹 Для
ДДММГГГГ: разбейте на 4 части (день, месяц, год) и укажите форматДМГ. - 🔹 Для
МММ-ДД-ГГГГ(например,May-12-1990): выберите разделитель-и форматМДГ.
- 🔹 Для
После преобразования Excel создаст отдельные столбцы для дня, месяца и года. Объедините их обратно в дату с помощью функции:
=ДАТА(ГОД; МЕСЯЦ; ДЕНЬ)
6. Продвинутые приёмы: формулы для сложных форматов
Когда даты рождения записаны в экзотических форматах (например, "12 мая 1990 года" или 12.05.90 г."), стандартные методы не работают. Здесь помогут комбинации функций:
Пример 1. Преобразование "12 мая 1990" в дату:
=ДАТА(
ПРАВСИМВ(A1;4); -- год
ПОИСКПОЗ(ЛЕВСИМВ(ПСТР(A1;ПОИСК(" ";A1)+1;3));{"янв";"фев";"мар";...};0); -- месяц
ЛЕВСИМВ(A1;2) -- день
)
Пример 2. Исправление дат с лишними символами (12.05.90 г.):
=ДАТАЗНАЧ(
ПОДСТАВИТЬ(
ПОДСТАВИТЬ(
ПОДСТАВИТЬ(A1;" г.";"");" ";"");".";"/"
)
)
Для автоматизации создайте Пользовательскую функцию на VBA:
Function ParseBirthDate(rng As Range) As Date
Dim str As String
str = rng.Value
' Удаляем лишние символы
str = Replace(str, " г.", "")
str = Replace(str, " года", "")
' Преобразуем в дату
ParseBirthDate = CDate(str)
End Function
Теперь в ячейке можно использовать =ParseBirthDate(A1).
⚠️ Внимание: Пользовательские функции работают только в файлах с расширением .xlsm (с поддержкой макросов). При отправке такого файла коллегам убедитесь, что у них разрешено выполнение макросов.
FAQ: Частые вопросы по датам рождения в Excel
Почему после изменения формата дата стала 01.01.1900?
Это означает, что Excel интерпретировал ваш текст как 0 (серийный номер даты 01.01.1900). Проверьте:
- 🔹 Нет ли скрытых символов (пробелов, кавычек) в ячейке? Используйте
=ПЕЧСИМВ(A1)для проверки. - 🔹 Правильно ли указан разделитель? Для российского формата используйте
.или/.
Как изменить формат даты рождения для всей книги сразу?
Выделите все листы (ПКМ на ярлыке листа → Выбрать все листы), затем измените формат ячеек. Альтернатива — использовать Стили ячеек:
- Создайте стиль с нужным форматом даты (
Главная → Стили → Создать стиль). - Применяйте его ко всем ячейкам с датами.
Можно ли автоматически добавлять "г.р." после даты?
Да, используйте формат ячейки:
- Выделите ячейки →
Ctrl+1→Число → (все форматы). - В поле
Типвведите:ДД.ММ.ГГГГ "г.р.".
Результат: 12.05.1990 г.р. (без изменения исходного значения).
Как импортировать даты из 1С без ошибок?
При экспорте из 1С даты часто сохраняются в формате ГГГГММДД (например, 19900512). Преобразуйте их так:
=ДАТА(
ЛЕВСИМВ(A1;4); -- год
ПСТР(A1;5;2); -- месяц
ПРАВСИМВ(A1;2) -- день
)
Почему функция ДАТАЗНАЧ не работает с датами из PDF?
При копировании из PDF в текст попадают неразрывные пробелы и другие непечатаемые символы. Очистите данные:
- Вставьте текст в Блокнот, затем скопируйте обратно в Excel.
- Используйте
=ПЕЧСИМВ(A1)для поиска скрытых символов.