Как разделить время между двумя датами по ежедневным столбцам - PullRequest
0 голосов
/ 20 ноября 2018

Мне очень нужна помощь, пожалуйста.

У меня есть таблица ниже.
В ней около 300 строк и столбцов справа для каждого дня года, начиная с 2015 года и заканчивая 2019 годом. Я привел здесь только несколько столбцов в качестве примера.

Что мне нужно:
Формула для разделения времени (это могут быть часы или десятичные дни, это не важно) между двумя днями слева в столбцахнаправо.
В остальные дни, которые не включены в период, в этих столбцах мне нужен ноль.
Я вручную ввел нужные мне результаты, чтобы они могли помочь вам понять.

Например,
В первом ряду:
Сотрудник потратил

  • 15 часов в пункте назначения в первый день поездки,
  • 24 часа во второй день поездки
  • 11: 50 часов в последний день поездки.

Все остальные столбцы справа, которых здесь нет, начиная с 1/4/2015 23: 59 , должны давать нулевой результат.

Спасибо!

Entry Date  Exit Date   1/1/2015 23:59  1/2/2015 23:59  1/3/2015 23:59

1/1/15 9:00 1/3/15 11:50        15.00           24.00           11.50

1 Ответ

0 голосов
/ 20 ноября 2018

Насколько я могу судить, все сводится к этому

                   1.0 days       2.0 days       3.0 days       4.0 days

period=p in h/d.d  p-(1-(so far)) p-(2-(so far)) p-(3-(so far)) 0 

РЕДАКТИРОВАТЬ 2: Я придумал формулу

ПРИМЕЧАНИЕ. Эта формула предполагает наличие столбца, в котором указывается 0 часов работы между столбцом «дата / время окончания» («B») и первым рабочим часом («D»), поэтому вы должны иметь следующий вид:this:

    A               B               C       D               E               F               G               H
1   Entry Date      Exit Date       ZERO    1/1/2015 23:59  1/2/2015 23:59  1/3/2015 23:59  1/4/2015 23:59  1/5/2015 23:59
2   1/1/15 9:00     1/3/2015 11:50      0   0.6243055556    1               0.49375         0               0.00
3                   

Дополнительный столбец предназначен для того, чтобы избежать циклических зависимостей, поскольку мы должны «итеративно» накапливать часы

Основная формула для строки 2 из столбца D:

=MIN(D1-$A2,MIN(MAX(($B2-$A2) - SUM($C2:C2), 0),1))

Примечание. В качестве разделителей в Excel вместо запятых могут использоваться точки с запятой.
Примечание. Последняя цифра в формуле зависит от единицы измерения.Здесь это в десятичных днях.Если часы, укажите 24.

Простым английским языком для ячейки

  • Рассчитать десятичную сумму часов / дней в диапазоне C, где - 1
  • Вычестьрезультат из разницы между началом и концом (общее количество часов)
  • Если меньше 0, положить 0 (MAX(x, 0))
  • Если больше 1, положить 1 (MIN(x, 1))
  • Выберите результат или разницу между текущей датой и временем начала, если она меньше
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...