Ошибка вычитания раз


1

Я пытаюсь вычесть время PM и AM в Excel 2013. Я получаю ##### ошибка.

Пример:

A1=7:00 PM B2=12:30 AM

=+A1-B2

Я отформатировал ячейку во времени, но возвращается с ошибкой.

Пожалуйста помоги.


1
Я могу воспроизвести это только тогда, когда вычитание выполнено другим способом, то есть когда результат отрицательный.
Excellll

Ответы:


2

Проблема заключается в том, что ваше время фактически сохраняется в виде даты в Excel, начиная с 12:00, 1 января 1900 года. Любое время до этой даты не распознается как действительное время. Таким образом, когда вы вычитаете более позднее время из более раннего времени, результат не распознается как действительная дата-время.

Хотя есть обходной путь.

Идти к Excel Options & GT; Advanced & GT; When Calculating This Workbook, Установите флажок с надписью Use the 1904 date system, Это позволит вам показывать отрицательные времена на вашем листе. ( Источник )

Если ваша цель состоит в том, чтобы рассчитать эту разницу во времени от одного дня к следующему (т.е. 12:30 AM - 7:30 PM = 5:30не -18:30 ), после изменения этого параметра в Excel, вы можете настроить формулу для этого.

Вместо

=B2-A1

Ты можешь использовать

=IF(B2-A1<0,1+B2-A1,B2-A1)

Это всегда будет возвращать положительную разницу во времени, вычитая простые времена.


0

Это потому, что результат отрицательный.

Если время начала больше времени окончания, добавьте 12 к времени окончания, прежде чем вычесть:

=IF(A1>B2,(B2+12)-A1,B2-A1)

Обратите внимание, что ваш метод отслеживания (без дня) сломается, если время начала и окончания совпадают. Это особый случай 0 или 24 часа?

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


0

Это то, что я использую для одного из моих примеров табеля рабочего времени

Как это выглядит

The Setup

формула

Formula

=((E7<D7)+E7-D7+(G7<F7)+G7-F7)

Вы также можете использовать округление, чтобы округлить время до 15 минут. Таким образом, если сотрудник оставался до 0:46, общее количество часов составило бы 5:25.

=ROUNDDOWN(((E7<D7)+E7-D7+(G7<F7)+G7-F7)/TIME(0,15,0),0)*TIME(0,15,0)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.