Удалить секунды из значения поля DateTime в Excel

Вопрос или проблема

Мне нужно удалить секунды из моего поля DateTime в Excel, которое выглядит следующим образом:

7/8/2014  4:17:59 PM

Я пытался отформатировать ячейку как: mm/dd/yyyy hh:mm
Это отобразило ячейку в правильном формате, но фактическое значение ячейки не изменилось. Когда я сравниваю поле со значением, указанным выше, с другим полем, в котором то же значение, но без секунд, Excel показывает их как разные значения.

Пример:
Ячейка 1: 7/8/2014 4:17 PM (Истинное значение: 7/8/2014 4:17:59 PM)
Ячейка 2: 7/8/2014 4:17 PM
Не являются дубликатами согласно Excel.

Как я могу полностью удалить секунды из этого времени?

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

=TEXT(A2,"MM/DD/YYYY HH:MM")

Где A2 — это ячейка, содержащая временную метку с секундами

В качестве альтернативы, это также должно работать с AM/PM

=TEXT(A2,"MM/DD/YYYY H:MM AM/PM")

Использование формулы текста совершенно правильный способ удалить секунды. Проблема в том, что оставление поля в текстовом формате вызывает сбои при сортировке и вычислениях. Поэтому, чтобы решить это, вы можете использовать следующую формулу, чтобы преобразовать назад в DateTime за один шаг.

=DATEVALUE(TEXT(A2,"MM/DD/YYYY"))+TIMEVALUE(TEXT(A2,"HH:MM"))

Это может помочь: (предполагая, что ваша дата находится в A1)

=A1-SECOND(A1)

Это поставит в другой ячейке то же значение, при этом секунды будут равны 0.

Ответ или решение

Если вы столкнулись с проблемой удаления секунд из поля DateTime в Excel, вам повезло: существует несколько способов это сделать. Давайте рассмотрим методы, которые помогут вам решить данную задачу, а также объясним их применение.

1. Форматирование не решает проблему

Как вы уже заметили, просто изменение формата ячейки на mm/dd/yyyy hh:mm не удаляет секунды из действительного значения. Форматирование отображает данные в нужном виде, но не изменяет саму числовую или текстовую основу даты/времени. Поэтому, при сравнении или выполнении вычислений, Excel будет по-прежнему использовать полное значение с секундами.

2. Использование функции TEXT

Одним из простых способов отображения значения без секунд является использование функции TEXT. Допустим, у вас есть временная метка в ячейке A2. Вы можете воспользоваться следующей формулой:

=TEXT(A2,"MM/DD/YYYY HH:MM")

Эта формула преобразует значение в текст в формате MM/DD/YYYY HH:MM. Однако, как вы правильно отметили, это приведет к тому, что результат будет текстом, а не истинным значением даты и времени.

3. Преобразование обратно в DateTime

Чтобы сохранить правильный тип данных и избежать проблем с сортировкой и расчетами, вы можете использовать следующее решение для преобразования текста обратно в формат DateTime:

=DATEVALUE(TEXT(A2,"MM/DD/YYYY")) + TIMEVALUE(TEXT(A2,"HH:MM"))

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

4. Удаление секунд непосредственно

Другой подход – удалить секунды напрямую с помощью встроенной функции SECOND. Например, если ваша дата и время находятся в ячейке A1, вы можете использовать следующую формулу:

=A1 - SECOND(A1)/86400

Здесь SECOND(A1) извлекает секунды из временной метки, и мы делим их на 86400 (число секунд в дне), чтобы вычесть это значение из общей даты и времени. В результате будет получена дата и время без секунд.

Заключение

Каждый из предложенных методов подходит для решения вашей задачи, однако выбор конкретного решения зависит от ваших дальнейших намерений насчет данных: если вам нужно просто отобразить дату без секунд, достаточно использовать TEXT, но если вы собираетесь проводить вычисления, лучше воспользоваться функциями DATEVALUE и TIMEVALUE или вычесть секунды напрямую. Следуя приведенным рекомендациям, вы сможете эффективно удалить секунды из ваших временных меток в Excel.

Оцените материал
Добавить комментарий

Капча загружается...