Acredito que você precisará de uma coluna auxiliar, no meu exemplo, a coluna auxiliar está na coluna D.
Coloque a seguinte fórmula na célula D2 e arraste para baixo:
=IF(B2=0,0,IF(D1=7,1,IFERROR(D1+1,1)))
Na célula C2, coloque esta fórmula e arraste para baixo:
=IF(OR(B2=0,D2=7),B2,C1+B2)
Para os exemplos de dados a seguir, você obtém a seguinte saída:
hours worked 70hrs/7days Helper
Jan 01 10 10 1
Jan 02 12 22 2
Jan 03 4 26 3
Jan 04 4 30 4
Jan 05 0 0 0
Jan 06 8 8 1
Jan 07 10 18 2
Jan 08 12 30 3
Jan 09 10 40 4
Jan 10 3 43 5
Jan 11 24 67 6
Jan 12 2 2 7
Jan 13 7 9 1
Jan 14 6 15 2
Jan 15 3 18 3
Jan 16 18 36 4
Jan 17 10 46 5
Jan 18 20 66 6
Jan 19 11 11 7
Basicamente, a coluna de ajuda registra quantos dias seguidos houve horas, o que alimenta a fórmula de 70 horas / 7 dias.
Há uma solução sem uma coluna auxiliar, mas é provável que seja muito longa. Estou pensando nas funções MOD
com o número de ROWS
e na fórmula de matriz para obter a última 0
.
REEDIT: A fórmula única que consigo pensar é:
=IF(B8=0,0,IF(COUNTIF(C1:C7,0)=0,IF(MOD(ROWS(INDIRECT("C"&MATCH(9^99,IF(C$1:C7=0,1))+1&":"&CELL("address",C7))),7)=0,B8,C7+B8),C7+B8))
inserido como fórmula de matriz (com Ctrl + Deslocamento + Enter ) a partir da célula C8
. A célula C2 terá a fórmula =IF(B2=0,0,B1+B2)
e será arrastada até no máximo C7.