Сравнение и вычитание времени в Excel - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь сделать вычитание времени в Excel 30 минут, и я сталкиваюсь с ускорением.Итак, таблица у меня следующая.

Table "Schedule"
Column 1 is day of the week (Mon-Sun) (formated as general, as this is plain text)
Column 2 is start time of the shift (formated as h:mm AM/PM)
Column 3 is end time of the shift (formated as h:mm AM/PM)
Column 4 is duration of the shift (start to end) (formated by formula (TEXT(col3-col2,"h:mm")) )
Column 5 is paid hours (if the total hours is over 6.5 then subtract 0.5 hours for an unpaid lunch) (formula IF(col5>"6:30",col5-"0:30",D5) )

Проблема заключается в том, что в любое время, от 10 до 10 часов, отведено время (где столбец 4, продолжительность достигает 10 часов), обед не вычитается вообще.

Итак ... Старт9:00, конец 6:59, общее количество часов 9:59, оплаченное время 9: 29

Но ... начало 9:00, конец 7:00, общее количество часов 10:00,Часы оплачиваются 10: 00

, и этого, очевидно, не должно произойти.Я ничего не могу найти в Google, поэтому я подумал, что у гуру превосходства здесь может быть несколько советов.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Excel хранит значения времени от 0 до 1. Таким образом, 24 часа = 1, 12 часов = .5 и т. Д. Это означает, что 6,5 часа = 0,270833333 и 0,5 часа = 0,020833333.В результате вы можете просто сделать простое утверждение if.

=IF(D2>0.270833333,D2-0.020833333,D2)

Чтобы преобразовать его в формат времени, просто используйте параметры форматирования времени в Excel.

0 голосов
/ 28 сентября 2018

Если ваши временные столбцы хранятся в специальном формате времени Excel, это должно быть просто.Скорее всего, проблема связана со смешанными типами данных.

Сначала убедитесь, что столбцы времени (столбцы 2 и 3) установлены с использованием функции времени, т. Е.

= время (часы, минуты, секунды).)

Затем вы сможете легко сложить и вычесть.

Столбец 4: = столбец 3 - столбец 2

... затем вычтите 30 минут, также используяФункция time ():

Столбец 5: = if (столбец 4> время (6,30,0), столбец 4-время (0,30,0), столбец 4)

...