Como posso gravar uma transição de 0 para 1 em uma coluna no Excel?

5

Eu preciso gravar o número de transições de um estado inativo (0) para o estado ativo (1) em uma única coluna no Excel e estou querendo saber se existe algum tipo de lógica como esta disponível no Excel ou se eu posso programa este tipo de lógica no VBA. No entanto, não sou muito versado em VBA, portanto, se houver links disponíveis, isso seria ótimo.

    
por Imad 02.12.2014 / 17:21

4 respostas

9

Você pode obter a contagem com uma única fórmula SUMPRODUCT . Se seus dados estiverem em A1:A25 , você poderá usar o seguinte:

=SUMPRODUCT((A1:A25=0)*(A2:A26=1)*(NOT(ISBLANK(A1:A25))))

Isso conta apenas as instâncias em que um valor na coluna é 0 (e não está em branco) e o valor a seguir é 1.

    
por 02.12.2014 / 18:21
5

Minha solução é assumir dados limpos começando na célula A2 e descendo a coluna A. Para a minha fórmula, também não há dados na linha 1000 (ajuste para cima para a maioria dos dados do mundo real.

A fórmula é uma fórmula de matriz, portanto, insira usando ctrl + shift + enter

=SUM(IF(A2:A1000=0,IF(A3:A1001=1,1,0),0))

Como a fórmula funciona.

Para cada célula A2 a A1000 procure um zero, se houver um zero na próxima célula abaixo. Se houver um na próxima célula, adicione um à contagem. Observe que uma célula em branco contará como zero.

O final dos intervalos (A1000 e A1001) precisa passar pelo final dos dados.

    
por 02.12.2014 / 18:22
3

Se você quiser apenas acompanhar as alterações de baixo para cima (supondo que seus dados estejam na coluna A), tudo o que você precisa é de =N(A2>A1) e, em seguida, arraste a fórmula para baixo.

Isso é avaliado como TRUE se o valor tiver aumentado (passou de baixo para cima) e, em seguida, N(boolean) será convertido para 1 ou 0.

Para acompanhar todas as alterações de estado que você usaria =N(A2<>A1)

Para contar todas as alterações de estado, você somaria a coluna.

    
por 02.12.2014 / 20:05
2

Você pode usar a fórmula para detectar transições de 1 a 0 e de 0 a 1. Apenas tenha cuidado com as células em branco!

Considere o exemplo a seguir (veja a captura de tela abaixo):

A coluna B contém um padrão de dados binários.

C2 conterá a seguinte fórmula:

=IF(AND(NOT(ISBLANK(B3)),B2=1,B3=0),1,0)

D2 conterá:

=IF(AND(NOT(ISBLANK(B3)),B2=0,B3=1),1,0)

Você só precisará preencher a fórmula para o número de linhas que precisar nas colunas C e D.

  • O valor de 1 (uns) na coluna C representará a quantidade de transições de 1 para 0.
  • O valor de 1 (uns) na coluna D representará a quantidade de transições de 0 a 1.

E no final você precisa é somar os (1) nas colunas C e D

No exemplo abaixo:

D18=SUM(C2:C16)
D19=SUM(D2:D16)

    
por 02.12.2014 / 17:55