Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Utilize essa sessão para postar e solucionar desafios de Excel, matemáticos, lógicos, etc...
  • Avatar do usuário
  • Avatar do usuário
#48628
Olá a todos!

O desafio é o seguinte:

TENHO A LISTA ABAIXO:
CNPJ EQUIPAMENTO
1 A
2 A
3 A
3 B
3 C
4 A
5 B
6 A

AO INSERIR O CNPJ DESEJADO:
CNPJ
3

DEVE SER EXIBIDO OS VALORES ABAIXO:
EQUIPAMENTOS
A, B, C

Como obter os nomes dos equipamentos, em uma única célula fixa? No exemplo, o CNPJ 3 aparece três vezes na lista, cada uma das vezes com equipamentos diferentes. Logo, eu preciso saber que, para este CNPJ, os equipamentos são A, B, C.
Tentei usar o PROCV simples, porém ele pega apenas a primeira referência, excluindo as demais.

Um dificultante: a lista de CNPJs é uma power query gigante, com 20 mil linhas. Fórmulas matriciais podem travar o PC.
#48629
Amigo,

Veja se o que fiz lhe ajuda, caso queira agradecer, clique na mãozinha.

Abs
Você não está autorizado a ver ou baixar esse anexo.
#48637
Bom dia.
Na verdade, eu preciso que o resultado fique em uma única célula no final.

Sua solução está quase perfeita, o único porém é que você lançou cada ocorrencia em uma linha.
Preciso que todas as ocorrências fiquem em uma unica célula, separadas por virgula ou qualquer outro separador.

Isso é importante porque nem sempre haverão 3 ocorrencias diferentes para o mesmo cnpj. As vezes, só terão 1 ocorrencia, 2 ocorrencias, até 10 ocorrencias, então não posso ter um numero de linhas variados. A quantidade de linhas na minha planilha deve ser fixa. Por isso preciso incluir todas as ocorrencias de cada CNPJ em uma unica celula.

Obrigado!
#48640
Supondo que os CNPJ comecem em A2, tente esta fórmula matricial (Ctrl+Shift+Enter):
Código: Selecionar todos
=UNIRTEXTO("; ";1;SEERRO(ÍNDICE($B$2:$B$9;MENOR(SE($A$2:$A$9=3;LIN($A$2:$A$9)-1);1));"");SEERRO(ÍNDICE($B$2:$B$9;MENOR(SE($A$2:$A$9=3;LIN($A$2:$A$9)-1);2));"");SEERRO(ÍNDICE($B$2:$B$9;MENOR(SE($A$2:$A$9=3;LIN($A$2:$A$9)-1);3));""))
Note que para cada ocorrência, o argumento final da fórmula abaixo precisa ser inserido manualmente, no caso o 1 final:

SEERRO(ÍNDICE($B$2:$B$9;MENOR(SE($A$2:$A$9=3;LIN($A$2:$A$9)-1);1));"")

Fiz para 3 ocorrências, então para 10 ou mais, pode ser feito, mas dá trabalho.

E sugiro alterar o 3 do exemplo de CNPJ (em azul), para uma referência a uma célula e assim facilitar a busca para outros CNPJ.

Good luck!

=SE(MÊS(A1)<7;"1º sem&a[…]

Bom Dia Senhores. Tenho uma macro que preciso dei[…]

Free relationships without drama and obligations. […]

Girar Imagem e Zoom

Boa noite Teria alguma forma de dar um "[…]

Valeu. Muito Obrigado!!!!!!!!

Pessoal, Ao clicar no botão Copiar (Guia C[…]

Procv com serro em vba

Resolvido

Bom dia, pessoal! com a data de nascimento e data […]

Estamos migrando para uma comunidade no Discord