Ajuda do Excel: Criar Variável com Base no Número de Instâncias

1

Eu tenho IDs na coluna A que gostaria de dividir em 5 grupos iguais para cada ID. Eu apliquei esta fórmula que faz um ótimo trabalho de dividir os IDs em 5 grupos iguais na coluna B.

=CEILING((ROW()-ROW($A$2)+1) / CEILING((ROW($A$88)-ROW($A$2)+1)/5,1),1)

O problema é que no Cell $ A $ 2 e $ A $ 88 tem ID = 1.

Espero que haja uma alma gentil por aí que possa modificar essa fórmula para que eu possa fazer com que os 5 grupos iguais sejam divididos para cada ID da coluna inteira, em vez de pontos difíceis para cada ID.

    
por Iliana 21.02.2018 / 03:33

2 respostas

1

Isso tem alguma semelhança com sua outra pergunta, e usar CEILING() é uma ótima ideia.

Sua fórmula tem dois termos que você precisa generalizar, em vez de ser codificado:

  1. O número total de linhas para o ID atual. Isso é fácil:

=COUNTIF(A:A,A2)

  1. A contagem do número atual de linhas do ID atual como a fórmula é preenchida. Isso é feito usando um intervalo de "expansão":

=COUNTIF(A$2:A2,A2)

A incorporação dessas duas expressões na sua fórmula fornece:

=CEILING((COUNTIF(A$2:A2,A2)/CEILING(COUNTIF(A:A,A2)/5,1)),1)

Você adicionou 1 às contagens de linhas em sua fórmula e pode ajustar essa fórmula da mesma forma, se necessário.

Espero que isso ajude e boa sorte.

    
por 21.02.2018 / 17:11
-1

Esta fórmula simples também pode gerar a lista de IDs na coluna BIN com incremento após cada 7ª Linha.

=INT(((ROW(A1)-1)/7))*1+1

Ou até mesmo essa fórmula improvisada também gerará a lista de IDs em ordem semelhante.

=CEILING(COUNTIF(A$2:A2,A2)/7,1)

Nos OP's & @Bandersnatch Fórmula para incremento, o valor é dividido por 5, mas como resultado, os IDs são incrementados após cada 7ª Linha. É a única razão pela qual eu o dividi por 7 e o significado é que se você quiser mudar a sequência de INCREMENTA simplesmente substitua 7 pelo número requerido.

NB: Na captura de tela anexada ao OP, mostra que os IDs são incrementados na coluna BIN após a 18ª linha. Portanto, se você precisar alterar o INCREMENT, basta substituir 7 por 18 e sua Fórmula será =INT(((ROW(A1)-1)/18))*1+1 .

Além disso, no OP que você escreveu, "O problema é que no Cell $ A $ 2 e $ A $ 88 tem ID = 1" . . p>

Para resolver esse problema, basta você Classificar a coluna de ID para que todos os 1s estejam no primeiro grupo.

Espero que isso ajude você e outras pessoas também.

    
por 22.02.2018 / 11:31