Вычтите две даты и времени, и найдите, если более позднее значение превышает 2 часа - PullRequest
1 голос
/ 27 июня 2019

Написание листа Google, и нужна формула для оценки двух дат и времени, а также определения, превышает ли последнее значение 2 часа и день.

IE,

In - Out
1/1/19 2:00 - 1/1/19 3:59
1/1/19 2:00 - 1/1/19 4:00
1/1/19 2:00 - 1/1/19 4:01
1/1/19 2:00 - 1/2/19 3:59
1/1/19 2:00 - 1/2/19 4:00
1/1/19 2:00 - 1/2/19 4:01 

Heresмою формулу я использую сейчас

=IFERROR(
  ARRAYFORMULA(
  IF(ISBLANK($S3:$S),,
    FLOOR(
     IF(VALUE(TIME(HOUR($S3:$S),MINUTE($S3:$S),1)-TIME(HOUR($R3:$R),MINUTE($R3:$R),0))*24>2.01,
      ($S3:$S-$R3:$R)+1,
      ($S3:$S-$R3:$R)+1),1)
    )))

Где «R» - «В», а «S» - «Вне».В настоящее время я не могу заставить его исключить превышение 2-часового лимита в первые дни, пытаясь заставить его работать в любой другой день совершенно нормально.

Так что в верхнем примере в идеале каждая строка должна возвращаться как'1' за 1 день, отличный от последнего, 1/2/19 4:01.Сценарий, по которому я работаю, заключается в том, что человек может арендовать что-то на один день и переполниться на 2 часа, не отмечая себя как дополнительный день для опоздания.В настоящее время последние 4 строки примеров будут считаться за 2 дня.

Я пытался отформатировать формулу, включив в нее дату (год (), месяц (), день (). Однако я просто столкнулся стак много ошибок синтаксического анализа, и они не могли обойти это.

Ответы [ 2 ]

0 голосов
/ 27 июня 2019
=ARRAYFORMULA(IF(LEN(S2:S), 
 IF((DATEVALUE(S2:S)+TIMEVALUE(S2:S))-
    (DATEVALUE(R2:R)+TIMEVALUE(R2:R))<=31.0833333333285, 1, 
 QUOTIENT((DATEVALUE(S2:S)+TIMEVALUE(S2:S))-
          (DATEVALUE(R2:R)+TIMEVALUE(R2:R))-31.0833333333285, 28)+2), ))

0

0 голосов
/ 27 июня 2019
=IFERROR(
  ARRAYFORMULA(
    IF(ISBLANK(T3:T),,
        FLOOR(     
            IF(DATEVALUE($Q2:Q)+TIMEVALUE($R2:R)-DATEVALUE($N2:N)+TIMEVALUE($O2:O)>1,
                IF(R2:R-O2:O>0.08263888889,(T2:T-S2:S)+2,(T2:T-S2:S)+1),
                (T2:T-S2:S)+1)
        ,1
            )
        )
    )

Кажется, это лучший способ заставить это работать.Я должен был вставить заявление IF, чтобы я мог вырезать проблему первого дня.Эта странная 0,08 - это истекшее отличие от 2 часов, предположительно.

Я искренне не понимаю ответ, который мне дали от Player0.В моей ситуации есть 3 разных вопроса.Первый день не может добавить +2, если разница составляет более 2 часов.Через день можно.Его странное число было 31.08, так что, возможно, его масштабировали месяцами или что-то в этом роде.Я не мог заставить это работать, хотя, это только возвратило бы '1'.Когда я разбил коэффициент и возился с ним, каждый ответ был по большей части 0.Если есть что-то, чего мне не хватает в этой новой формуле.Я хотел бы получить некоторую информацию.

...