Fórmula do Excel para contagem de zeros consecutivos

0

Eu tenho um conjunto de dados com valores de ingestão registrados para mais de 100 dias em animais individuais. Eu quero aplicar uma fórmula a cada ID de animal e determinar quantas vezes o animal comeu 0 por 2, 3, 4, etc dias. Eu apliquei a seguinte fórmula, mas não estou tendo sorte (DK3 é o número de zeros consecutivos).

=SUM(IF(FREQUENCY(IF(B5:DE5=0,COLUMN(B5:DE5)),IF(B5:DE5<>0,ROW(B5:DE5)))=DK3,1))

Como posso corrigir isso?

    
por user628912 11.08.2016 / 20:30

1 resposta

2

Eu respondi uma pergunta semelhante aqui para números contíguos e critérios de correspondência: Encontre o maior número de resultados consecutivos para cada pessoa na lista

NOTA : Espero que o OP receba isso. Eu fiz isso pelo nome de Animals. Se estiver ajudando um animal a deixar alguém saber quantos dias ele não comeu, então é algo que você precisa saber. ♡ ♥ Animais! ♥ ♡

Apenas para números contíguos :
Coloque seu primeiro 0 em A1 : em seguida, continue em col(A) suas pontuações de dados
Coloque esta fórmula em B1 : copie esta fórmula adjacente a cada pontuação; col(B)

Let searchNumber=0,1,2,3,...n

=IF(  NOT(ISERROR(OFFSET(A1,-1,0))), IF(  AND(A1=OFFSET(A1,-1,0),A1=searchNumber),OFFSET(B1,-1,0)+1,IF(A1=searchNumber,1,0)  ),   IF(A1=searchNumber,1,0)  )

This is the count(ate?) formula for each cell in col(B)

Para contar o Máximo dos dados consequentes (seu caso: 0), em uma célula adjacente use este formuls: =MAX(B:B) lhe dará a maior quantidade de dias '0'

Use outras células com esta fórmula:
=COUNTIF(B:B, 2) isso vai te dar quantas vezes o animal comeu ZERO dois dias seguidos.

Veja como são os dados:
Deixe xx = Cachorro "Charlie"
Let ate = = 0,1: 0 = não, 1 = sim

     col(A)       col(B)          
ID   ate?         formula:count(ate?)   count formula
---------------------------------------------------------
xx   0            1                     Max(b:b)=3
xx   0            2                     countif(b:b,2)=2
xx   1            0                     countif(b:b,2)=3
xx   1            0
xx   0            1
xx   0            2
xx   0            3

Charlie, comeu ZERO, no máximo 3 dias seguidos. Também ele em ZERO dois dias seguidos 2 vezes, e ZERO três dias seguidos 1 vez.

Nota: =OFFSET(ref, row, col) row = -1 = linha anterior, col = -1 = col para a esquerda

Então, se seus dados se parecem com isso:

  A               B     C    D    E        CW      CX (or another page)
1 ID              Day1  Day2 Day3 Day4 ... Day100
2 XX              1     0    0    1        1       
3 xx-count(ate?)  0     1    2    0        0       countif(b2:cw,2)=2
4 zz
5 zz-count(ate?)

Then the formula would look at column data instead of row data:
=IF(NOT(ISERROR(OFFSET(B2,-1,0))),IF(AND(B2=OFFSET(B2,0,-1),B2=searchNumber),OFFSET(B3,0,-1)+1,IF(B2=searchNumber,1,0)),IF(B2=searchNumber,1,0))

This formula would go into, starting at B3, then copying into C3,D3...



UmamaneiramelhordeusarafórmulaparaváriosCOUNTIFeMAX:

    
por 12.08.2016 / 02:54