Como contar uma string em todas as colunas apenas para linhas que contenham um determinado valor?

0

Novato do VBA aqui, e procurei com atenção macros que eu possa ajustar e combinar para fazer isso, mas não consegui fazer isso.

Eu colei alguns dos meus dados de amostra no final deste post. Eu gostaria de passar pela coluna 1 (ID_Num) e encontrar todas as linhas com o mesmo ID_Num (elas devem estar próximas umas das outras na coluna, já que a folha é classificada por ID_Num). Em seguida, coloque uma contagem de 1 para cada cliente quando a string "A", "B" ou "C" for encontrada na coluna do cliente para cada bloco de linhas com ID_Nums idênticos. A contagem não deve ser maior que 1, ou seja, se a string "A" ou "B" ou "C" estiver presente na faixa, então a 1 é registrada, caso contrário, 0 é registrado. As outras possibilidades são "D" ou espaços em branco.

Eu gostaria de ter apenas uma linha por ID_Num após essa etapa.

Por fim, gostaria de adicionar esses 1s e 0s para cada ID_Num

Anexei um exemplo dos dados que tenho e onde quero acabar.

Amostra de dados original

ID_Num | Customer 1 Customer 2 Customer 3 Customer 4 Customer 5

aaa | A A D B D

aaa | B D D B A

aaa | D D D A B

bbb | C A D D C

ccc | D A A A D

ccc | A C B D D

ddd | D D D D D

Primeiro passo

ID_Num | Customer 1 Customer 2 Customer 3 Customer 4 Customer 5

aaa | 1 1 0 1 1

bbb | 1 1 0 0 1

ccc | 1 1 1 1 0

ddd | 0 0 0 0 0

Etapa dois

ID_Num | Final Count

aaa | 4
bbb | 3
ccc | 4
ddd | 0

Existem 100 colunas de clientes.

Desculpe pela formatação. Eu incluí um link para uma imagem que mostra a mesma informação. O site não me permite carregar a imagem

Dados de amostra

Eu gostaria de receber ajuda. Desde já, obrigado!

    
por charistivity 07.06.2017 / 07:11

1 resposta

0

Se a Folha1 contiver os Dados iniciais, na Folha2, a coluna A será ID_Num e a Linha1 será os clientes, na gravação B2:

=IF(OR(COUNTIFS(Sheet1!$A:$A,$A2,Sheet1!B:B,"A")>0,COUNTIFS(Sheet1!$A:$A,$A2,Sheet1!B:B,"B")>0,COUNTIFS(Sheet1!$A:$A,$A2,Sheet1!B:B,"C")>0),1,0)

e arraste-o na mesma linha até o último cliente e até o último ID_Num ele será alterado automaticamente e você terá a tabela no primeiro passo. Quando terminar, você pode criar após a última coluna Final Count e usar:

=Sum(B2:ZZ2)
substitua ZZ2 pela última coluna do cliente e arraste-a para baixo

Se você quiser o Passo Dois sozinho Copie a coluna ID_Num e cole-a em uma nova planilha e copie a coluna de contagem final para colar valores especiais na nova planilha perto da coluna de ID_Num

    
por 07.06.2017 / 10:52