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

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

Эта статья поможет разобраться, как корректно сортировать время в Excel — от простых временных меток (например, 09:30) до сложных комбинаций даты и времени (вроде 15.05.2026 14:25:33). Мы рассмотрим не только стандартные инструменты сортировки, но и формулы для нестандартных форматов, а также типичные ошибки, из-за которых данные «разъезжаются» по строкам. Если вы работаете с журналами звонков, графиками смен или логами событий — эти методы сэкономят вам часы ручной правки.

Перед тем как приступить, проверьте: ваши данные действительно содержат время, а не текст, замаскированный под временные метки. Для этого достаточно кликнуть по ячейке и посмотреть на строку формул — если там отображается '09:30 (с апострофом) или 9:30 AM как текст, Excel воспримет это как набор символов, а не как временной формат. Исправить это можно за 10 секунд — об этом в первом разделе.

📊 Как часто вы сортируете данные по времени в Excel?
Ежедневно
Несколько раз в неделю
Редко, по необходимости
Никогда не делал этого

1. Подготовка данных: почему Excel «не видит» время?

Чаще всего проблемы с сортировкой возникают из-за неверного формата ячеек. Excel распознаёт время только в двух случаях:

  1. Ячейка имеет формат Время (или Дата, если речь о комбинированном формате).
  2. Данные введены как результат формулы, возвращающей временную метку (например, =ВРЕМЯ(9;30;0)).

Если ваши данные выглядят как время, но сортируются как текст — скорее всего, они сохранены в формате Общий или Текстовый.

Как проверить формат:

  1. Выделите столбец с временными данными.
  2. Нажмите правой кнопкой мыши и выберите Формат ячеек (или используйте горячие клавиши Ctrl+1).
  3. В открывшемся окне перейдите на вкладку Число и выберите категорию Время.

Если в списке типов времени нет подходящего, выберите Другие форматы времени и настройте отображение вручную (например, ч:мм:сс или ч:мм AM/PM).

Что делать, если Excel автоматически меняет формат?

Если после изменения формата ячеек на "Время" данные превращаются в даты (например, 01.01.1900), значит изначально они были введены как текст. Используйте функцию =ВРЕМЗНАЧ(А1), чтобы преобразовать текст в время.

Внимание на детали: Excel хранит время как дробную часть числа, где 1 = 24 часам. Например, 0,5 — это 12:00:00, а 0,7518:00:00. Это важно помнить, если вы работаете с формулами или импортируете данные из других систем.

2. Стандартная сортировка по времени: пошаговая инструкция

Если данные уже в правильном формате, отсортировать их по времени можно за 3 шага:

Шаг 1. Выделите диапазон ячеек, включая заголовки столбцов (если они есть).

Шаг 2. Перейдите на вкладку ГлавнаяСортировка и фильтрНастраиваемая сортировка (или нажмите ДанныеСортировка).

Шаг 3. В открывшемся окне:

  1. Выберите столбец с временем из выпадающего списка Сортировать по.
  2. Укажите порядок: От старого к новому или От нового к старому.
  3. Нажмите OK.

Если сортировка работает некорректно, проверьте:

  • 🔹 Наличие пустых ячеек — они могут сбивать порядок. Заполните их нулями или удалите.
  • 🔹 Объединённые ячейки — Excel не сортирует объединённые диапазоны. Разъедините их перед сортировкой.
  • 🔹 Скрытые символы — пробелы или непечатаемые знаки (например, NBSP). Используйте функцию =ПЕЧСИМВ(А1), чтобы их обнаружить.

☑️ Подготовка к сортировке по времени

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

Критическая ошибка: если в столбце смешаны даты и время (например, 10:30 и 10.05.2026 10:30), Excel не сможет отсортировать их вместе. Разделите такие данные на два столбца или приведите к единому формату.

3. Сортировка по времени с секундами и миллисекундами

Если ваши данные содержат миллисекунды (например, 09:30:15.456), стандартные форматы времени в Excel их не отображают. Чтобы миллисекунды стали видимыми и участвовали в сортировке:

  1. Выделите столбец с временем.
  2. Нажмите Ctrl+1 и выберите формат Время.
  3. В поле Тип введите пользовательский формат: ч:мм:сс.000.

Теперь при сортировке Excel будет учитывать и миллисекунды.

Для работы с высокоточными временными метками (например, в логах серверов) используйте функцию:

=ВРЕМЯ(ЧАС(А1);МИНУТЫ(А1);СЕКУНДЫ(А1)) + (ПРАВСИМВ(А1;3)/1000)/86400

Эта формула извлекает часы, минуты, секунды и добавляет миллисекунды, преобразованные в долю дня (так как Excel хранит время в долях суток).

4. Сортировка по времени в сводных таблицах

Сводные таблицы в Excel позволяют группировать данные по времени, но для этого временные метки должны быть в формате Дата/Время. Если ваши данные содержат только время (без даты), сводная таблица не сможет их сгруппировать по часам или минутам. Решение:

  • 🔹 Добавьте столбец с фиктивной датой (например, 01.01.2000) и объедините его с временем в один столбец формулой:
    =ДАТАЗНАЧ("01.01.2000") + А1
  • 🔹 Используйте этот новый столбец как источник для сводной таблицы.
  • 🔹 В настройках группировки выберите Часы или Минуты.

Пример группировки по часам в сводной таблице:

Время началаКоличество звонков
01.01.2000 08:0012
01.01.2000 09:0025
01.01.2000 10:0018

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

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

Иногда стандартная сортировка не подходит — например, если время записано в нестандартном формате (9-30 AM) или разделено на отдельные столбцы (часы, минуты, секунды). В таких случаях поможет вспомогательный столбец с формулой, преобразующей данные в корректный формат.

Пример 1. Время записано как текст: "9 часов 30 минут".

Формула для преобразования:

=ВРЕМЯ(ПОИСКПОЗ(ЛЕВСИМВ(А1;1);{"0";"1";"2";...;"9"};0)-1; ЧИСЛОТЕКСТ(ПОДСТАВИТЬ(А1;" часов ";"|");"мм"); 0)

Эта формула извлекает часы и минуты из текста и создаёт временную метку.

Пример 2. Часы и минуты записаны в разных столбцах:

Формула:

=ВРЕМЯ(A1; B1; 0)

Где A1 — часы, B1 — минуты.

Пример 3. Время в формате UNIX timestamp (количество секунд с 1970 года):

Формула:

=ДАТАЗНАЧ("01.01.1970") + (A1/86400)

После добавления вспомогательного столбца сортируйте данные по нему, а не по исходному столбцу.

6. Типичные ошибки и как их избежать

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

⚠️ Внимание: Если после сортировки временные метки превратились в числа (например, 0,375 вместо 09:00), значит Excel интерпретировал их как доли дня. Верните формат ячеек обратно на Время.

Ошибка 1. Сортировка игнорирует секунды.

Причина: формат ячеек установлен как ч:мм, а не ч:мм:сс. Исправьте формат или используйте пользовательский тип [ч]:мм:сс для времени длительностью более 24 часов.

Ошибка 2. Время с AM/PM сортируется неверно.

Решение: преобразуйте формат в 24-часовой с помощью функции:

=ЕСЛИ(НАЙТИ("PM";A1);ВРЕМЗНАЧ(ПОДСТАВИТЬ(A1;"PM";""))+0,5;ВРЕМЗНАЧ(ПОДСТАВИТЬ(A1;"AM";"")))

Ошибка 3. Пустые ячейки оказываются в начале или конце списка.

Чтобы контролировать положение пустых ячеек:

  1. В окне сортировки нажмите Параметры.
  2. Выберите направление сортировки для пустых ячеек: Вверху или Внизу.

⚠️ Внимание: Если вы сортируете данные с привязкой к другим столбцам (например, время и связанные с ним события), используйте расширенный фильтр или Таблицы Excel (Ctrl+T), чтобы избежать разрыва связей между строками.

7. Автоматизация: макрос для сортировки по времени

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

Sub SortByTime()

Dim rng As Range

Set rng = Selection

rng.Sort Key1:=rng.Columns(1), Order1:=xlAscending, Header:=xlYes

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите диапазон с заголовками и запустите макрос (Alt+F8SortByTimeВыполнить).

Для сортировки по убыванию замените xlAscending на xlDescending.

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

Sub SortByTimeAdvanced()

Dim rng As Range, cell As Range

Set rng = Selection

' Добавляем вспомогательный столбец с корректным временем

rng.Columns(rng.Columns.Count + 1).Insert

For Each cell In rng.Columns(1).Cells

If IsEmpty(cell) Then

cell.Offset(0, 1) = ""

Else

cell.Offset(0, 1) = TimeValue(cell.Text)

End If

Next cell

' Сортируем по вспомогательному столбцу

rng.Resize(, rng.Columns.Count + 1).Sort Key1:=rng.Columns(2), Order1:=xlAscending, Header:=xlYes

' Удаляем вспомогательный столбец

rng.Columns(2).Delete

End Sub

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

Можно ли сортировать время вместе с датой в одном столбце?

Да, если данные имеют формат Дата/Время. Excel сортирует такие ячейки сначала по дате, затем по времени. Например, 15.05.2026 09:30 будет идти перед 15.05.2026 10:45, но после 14.05.2026 23:00.

Если дата и время записаны в разных столбцах, объедините их формулой:

=ДАТАЗНАЧ(ТЕКСТ(A1;"дд.мм.гггг")) + B1

где A1 — дата, B1 — время.

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

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

Также ошибка ###### может появляться, если результат формулы возвращает отрицательное время (например, при вычитании временных меток). Используйте функцию =ЕСЛИОШИБКА(формула;0), чтобы избежать этого.

Как сортировать время по дням недели?

Если у вас есть столбец с днями недели (например, Понедельник, Вторник), добавьте вспомогательный столбец с числовыми эквивалентами:

=ПОИСКПОЗ(A1;{"Понедельник";"Вторник";"Среда";"Четверг";"Пятница";"Суббота";"Воскресенье"};0)

Затем сортируйте данные по этому столбцу.

Можно ли сортировать время с учётом часовых поясов?

Excel не поддерживает часовые пояса напрямую, но вы можете добавить столбец со смещением. Например, если у вас время в UTC, а нужно отсортировать по MSK (UTC+3), используйте формулу:

=A1 + (3/24)

где A1 — ячейка с временем в UTC.

Сортируйте данные по этому столбцу, а отображайте исходное время.

Как отсортировать время в формате "10:30-11:45" (интервалы)?

Для сортировки по началу интервала:

  1. Добавьте вспомогательный столбец с формулой, извлекающей первое время:
    =ВРЕМЗНАЧ(ЛЕВСИМВ(A1;5))

    (предполагается, что формат всегда чч:мм-чч:мм).

  2. Сортируйте по этому столбцу.

Для сортировки по продолжительности интервала используйте:

=ВРЕМЗНАЧ(ПРАВСИМВ(A1;5)) - ВРЕМЗНАЧ(ЛЕВСИМВ(A1;5))