Почему гугл листы ARRAYFUNCTION округляют мое десятичное число до ближайшего полного числа? - PullRequest
0 голосов
/ 03 мая 2020

Я написал функцию для подсчета количества рабочих часов, выраженного в рабочих днях между 2 датами. Возвращает десятичную. Однако, когда я окружаю функцию ARRAYFUNCTION (функция идет сюда), она округляет все десятичные дроби до ближайшего полного числа. Вот формула, оба Q и O являются datetime:

=((NETWORKDAYS(Q2:Q, O2:O)-2) *(8) + 
IF( AND(TIME(HOUR(Q2:Q), MINUTE(Q2:Q), SECOND(Q2:Q)) > TIME(9,0,0), TIME(HOUR(Q2:Q), MINUTE(Q2:Q), SECOND(Q2:Q)) < TIME(17,0,0)),
    HOUR(TEXT(TIME(17,0,0)-TIME(HOUR(Q2:Q), MINUTE(Q2:Q), SECOND(Q2:Q)), "h:mm:ss")) + MINUTE(TEXT(TIME(17,0,0)-TIME(HOUR(Q2:Q), MINUTE(Q2:Q), SECOND(Q2:Q)), "h:mm:ss"))/60 + SECOND(TEXT(TIME(17,0,0)-TIME(HOUR(Q2:Q), MINUTE(Q2:Q), SECOND(Q2:Q)), "h:mm:ss"))/3600, 
    IF( TIME(HOUR(Q2:Q), MINUTE(Q2:Q), SECOND(Q2:Q)) < TIME(9,0,0), 8, 0 ) ) + 
    IF( AND(TIME(HOUR(O2:O), MINUTE(O2:O), SECOND(O2:O)) > TIME(9,0,0), TIME(HOUR(O2:O), MINUTE(O2:O), SECOND(O2:O)) < TIME(17,0,0)),
        HOUR(TEXT(TIME(HOUR(O2:O), MINUTE(O2:O), SECOND(O2:O)) - TIME(9,0,0), "h:mm:ss")) + MINUTE(TEXT(TIME(HOUR(O2:O), MINUTE(O2:O), SECOND(O2:O)) - TIME(9,0,0), "h:mm:ss"))/60 + SECOND(TEXT(TIME(HOUR(O2:O), MINUTE(O2:O), SECOND(O2:O)) - TIME(9,0,0), "h:mm:ss"))/3600, 
        IF( TIME(HOUR(O2:O), MINUTE(O2:O), SECOND(O2:O)) > TIME(17,0,0), 8,0 ) 
  )
)/8
...