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!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord