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

1

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

Пример:

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

=+A1-B2

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

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

Larry Simpson
источник
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)

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

Excellll
источник
0

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

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

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

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

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

Yorik
источник
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)
Davesexcel
источник