Как в Excel сортировать по датам рождения: 5 рабочих способов с примерами

Работа с датами рождения в Microsoft Excel — одна из самых востребованных задач среди HR-специалистов, учителей и менеджеров. Казалось бы, что может быть проще: выделил столбец с датами и отсортировал. Но на практике пользователи сталкиваются с массой нюансов: Excel воспринимает даты как текст, путает форматы ДД.ММ.ГГГГ и ММ.ДД.ГГГГ, а иногда и вовсе игнорирует сортировку. В этой статье разберём все возможные сценарии — от базовой сортировки до сложных фильтров с учётом возраста, месяца рождения или знака зодиака.

Особое внимание уделим типичным ошибкам, из-за которых даты "разлетаются" в хаотичном порядке. Например, знали ли вы, что Excel по умолчанию сортирует даты как текст, если ячейка отформатирована неправильно? Или что при импорте данных из CSV даты рождения могут автоматически преобразоваться в формат 45678 (количество дней с 1900 года)? Мы покажем, как этого избежать и вернуть данные в читаемый вид.

Для наглядности будем использовать реальный пример: таблицу сотрудников с колонками ФИО, Дата рождения и Должность. Все инструкции актуальны для Excel 2016–2026 (включая Microsoft 365) и Excel Online. Если вы работаете в Google Таблицах, принципы аналогичны, но есть нюансы — их мы тоже затронем.

1. Подготовка данных: почему Excel не сортирует даты правильно

Прежде чем сортировать, убедитесь, что ваши даты рождения распознаны Excel как даты, а не как текст. Это ключевая причина 80% проблем с сортировкой. Проверить формат просто:

  • 🔍 Выделите столбец с датами рождения.
  • 📊 Посмотрите на панель форматирования: если там отображается Текст или Общий — данные нужно преобразовать.
  • 📅 Правильный формат: Дата (например, 14.05.1990 или 14 мая 1990 г.).

Если даты хранятся как текст, используйте функцию =ДАТАЗНАЧ() (или =DATEVALUE() в английской версии) для преобразования. Например:

=ДАТАЗНАЧ("14.05.1990")

Эта функция вернёт числовое значение даты, которое Excel сможет корректно сортировать.

⚠️ Внимание: Если после преобразования даты отображаются как ######, расширьте ширину столбца — Excel не помещает длинные даты в узкие ячейки.

Ещё одна распространённая проблема — разделение даты и времени. Если в ячейке хранится 14.05.1990 00:00:00, сортировка может сбиваться. Чтобы убрать время, используйте формат ячейки дд.мм.гггг или функцию:

=ЦЕЛОЕ(A2)
📊 Как вы обычно храните даты рождения в Excel?
В формате даты (дд.мм.гггг)
Как текст (14 мая 1990)
В числовом виде (45678)
Не знаю, как проверить

2. Базовая сортировка по датам рождения (по возрастанию/убыванию)

Самый простой способ отсортировать даты рождения — использовать встроенную функцию сортировки:

  1. Выделите диапазон данных (включая заголовки столбцов).
  2. Перейдите на вкладку ГлавнаяСортировка и фильтрНастраиваемая сортировка.
  3. В окне Сортировка выберите столбец с датами рождения.
  4. Укажите порядок: От старых к новым (по возрастанию) или От новых к старым (по убыванию).
  5. Нажмите OK.

Если вам нужно отсортировать только по датам, не затрагивая другие столбцы, выделите только столбец с датами (без заголовка) и используйте кнопку Сортировка от А до Я на панели инструментов.

☑️ Проверка перед сортировкой

Выполнено: 0 / 4

Пример: Если у вас есть список сотрудников, сортировка по датам рождения От старых к новым покажет самых старших сотрудников в начале списка, а От новых к старым — самых молодых.

⚠️ Внимание: Если после сортировки даты "прыгают" хаотично, проверьте, нет ли в столбце скрытых символов (например, пробелов перед датой). Используйте функцию =ПРОБЕЛЫ(A2), чтобы их убрать.

3. Сортировка по возрасту (а не по дате рождения)

Часто требуется отсортировать людей по возрасту, а не по дате рождения. Для этого нужно вычислить возраст на текущую дату. Используйте функцию:

=ДОЛЯГОДА(СЕГОДНЯ();A2)

где A2 — ячейка с датой рождения.

Затем сортируйте данные по столбцу с возрастом. Если нужно получить возраст в целых годах (без дробей), используйте:

=ЦЕЛОЕ(ДОЛЯГОДА(СЕГОДНЯ();A2))
ФИО Дата рождения Возраст (лет)
Иванов П.С. 15.03.1985 =ЦЕЛОЕ(ДОЛЯГОДА(СЕГОДНЯ();B2))
Петрова А.И. 22.11.1990 =ЦЕЛОЕ(ДОЛЯГОДА(СЕГОДНЯ();B3))
Сидоров К.Л. 05.07.1978 =ЦЕЛОЕ(ДОЛЯГОДА(СЕГОДНЯ();B4))

Важно: функция ДОЛЯГОДА учитывает текущую дату, поэтому возраст будет автоматически обновляться при открытии файла. Если вам нужно зафиксировать возраст на конкретную дату (например, на 01.01.2026), замените СЕГОДНЯ() на "01.01.2026".

4. Сортировка по месяцу или дню рождения

Иногда требуется отсортировать данные по месяцу рождения (например, для поздравлений) или по дню месяца. Для этого извлеките месяц или день из даты с помощью функций:

  • 📅 Месяц: =МЕСЯЦ(A2) (вернёт число от 1 до 12).
  • 📅 День: =ДЕНЬ(A2) (вернёт число от 1 до 31).
  • 📅 Название месяца: =ТЕКСТ(A2;"мммм") (вернёт "январь", "февраль" и т.д.).

Затем сортируйте данные по новому столбцу. Например, чтобы отсортировать сотрудников по месяцам рождения для отправки поздравлений, создайте вспомогательный столбец с функцией =МЕСЯЦ(B2) и выполните сортировку по нему.

⚠️ Внимание: При сортировке по названиям месяцев ("январь", "февраль") Excel расположит их в алфавитном порядке, а не по календарю. Для корректной сортировки используйте числовые значения месяцев (1–12).

Если вам нужна сортировка по знаку зодиака, используйте формулу с вложенными ЕСЛИ или функцию ВЫБОР. Пример для определения знака:

=ВЫБОР(МЕСЯЦ(A2);

ЕСЛИ(ДЕНЬ(A2)>=20;"Водолей";"Козерог");

ЕСЛИ(ДЕНЬ(A2)>=19;"Рыбы";"Водолей");

...

)

Формула для всех знаков зодиака

Скачайте шаблон Excel с готовой функцией определения знака зодиака по дате рождения.

5. Продвинутая сортировка: по нескольким критериям

Допустим, вам нужно отсортировать сотрудников сначала по отделу, а затем по дате рождения (от старших к младшим). Для этого:

  1. Выделите диапазон данных.
  2. Перейдите в ДанныеСортировка.
  3. Добавьте первый уровень сортировки: столбец Отдел, порядок От А до Я.
  4. Добавьте второй уровень: столбец Дата рождения, порядок От старых к новым.
  5. Нажмите OK.

Такой подход позволяет группировать данные по одному критерию, а внутри группы сортировать по другому. Например, сначала все сотрудники отдела "Маркетинг" (в алфавитном порядке), а внутри отдела — по возрасту.

Отдел ФИО Дата рождения
Маркетинг Иванов П.С. 15.03.1985
Маркетинг Сидоров К.Л. 05.07.1978
Продажи Петрова А.И. 22.11.1990

Лайфхак: Если вам нужно сохранить исходный порядок данных, перед сортировкой добавьте столбец с порядковыми номерами (1, 2, 3...) и сортируйте по нему в последнюю очередь.

6. Автоматическая сортировка при изменении данных

Если ваша таблица часто обновляется, настройте автоматическую сортировку с помощью макроса или функции Power Query. Для начинающих проще использовать Power Query:

  1. Выделите данные и перейдите на вкладку ДанныеИз таблицы/диапазона (в группе Получить и преобразовать).
  2. В открывшемся редакторе Power Query выберите столбец с датами рождения.
  3. Нажмите ГлавнаяСортировкаПо возрастанию.
  4. Нажмите Закрыть и загрузить.

Теперь при каждом обновлении данных (кнопка Обновить все на вкладке Данные) сортировка будет применяться автоматически.

Для опытных пользователей подойдёт VBA-макрос. Пример кода для сортировки по датам рождения при открытии файла:

Private Sub Workbook_Open()

Sheets("Лист1").Range("A1:C100").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes

End Sub

Где B2 — первая ячейка с датой рождения (без заголовка).
⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm. Если вы сохраните файл как .xlsx, код перестанет выполняться.

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

Даже опытные пользователи сталкиваются с проблемами при сортировке дат. Вот самые частые ошибки и их решения:

  • 🔄 Дата отображается как число (45678): Примените формат Дата к столбцу (правый клик → Формат ячеекДата).
  • 📉 Сортировка игнорирует часть дат: Проверьте, нет ли в столбце текста или ошибок (#ЗНАЧ!). Используйте функцию =ЕЧИСЛО(A2), чтобы найти проблемные ячейки.
  • 🔢 Дата сортируется как текст (1, 10, 2,...): Преобразуйте текст в дату с помощью =ДАТАЗНАЧ() или Текст по столбцам (вкладка Данные).
  • 📅 Дата сбивается при импорте из CSV: При импорте выберите столбец с датами и укажите формат ДМГ (день-месяц-год).

Если даты хранятся в формате ГГГГ-ММ-ДД (например, из базы данных), используйте функцию =ДАТА(ЛЕВСИМВ(A2;4);ПСТР(A2;6;2);ПСТР(A2;9;2)) для преобразования в ДД.ММ.ГГГГ.

Экстренный случай: Если сортировка полностью "сломала" таблицу, отмените действие (Ctrl+Z) и проверьте данные на наличие скрытых символов с помощью функции =КОДСИМВ(ЛЕВСИМВ(A2;1)). Код пробела — 32, если видите другие значения, данные содержат мусор.

FAQ: Ответы на частые вопросы

Можно ли сортировать даты рождения по дням недели (пн, вт, ср...)?

Да, для этого извлеките день недели с помощью функции =ТЕКСТ(A2;"дддд") (вернёт "понедельник", "вторник" и т.д.) или =ДЕНЬНЕД(A2) (вернёт число от 1 до 7, где 1 — воскресенье). Затем сортируйте по новому столбцу.

Как отсортировать только уникальные даты рождения (убрать дубли)?

Выделите столбец с датами, перейдите на вкладку ДанныеУдалить дубликаты. Если нужно сохранить оригинальные данные, скопируйте столбец в новое место и удаляйте дубли в копии.

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

Это означает, что ширина столбца недостаточна для отображения даты. Растяните столбец или измените формат на более компактный (например, дд.мм.гг вместо дд месяц гггг).

Как сортировать даты рождения в Google Таблицах?

Принцип аналогичен Excel: выделите данные → ДанныеСортировать диапазон. Для вычисления возраста используйте =DATEDIF(A2;TODAY();"Y").

Можно ли сортировать даты рождения по десятилетиям (1980-е, 1990-е...)?

Да. Создайте вспомогательный столбец с формулой =ЦЕЛОЕ(ГОД(A2)/10)*10 — она вернёт начало десятилетия (например, 1990 для 1995 года). Затем сортируйте по этому столбцу.