Вопрос или проблема
Мне нужно удалить секунды из моего поля 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.