Página 1 de 1
Como filtrar elementos exclusivos de uma lista?
Enviado: 04 Set 2016 às 01:19
por sonymartins
Olá amigos,
Estou tentando encontrar alguma função que permita exibir uma única vez os elementos repetidos selecionados em uma lista, pois pretendo organizar estes elementos em uma lista através da "validação de dados". Por exemplo, em uma coluna contendo os elementos "branco", "azul", "vermelho", "branco", "vermelho", eu gostaria de ver na lista final, após passar pela validação de dados, apenas os 3 elementos "branco", "azul", "vermelho". O problema é que em Dados --> Validação de Dados --> Listas --> Fonte, não sei qual código eu deveria escrever.
Sei fazer isto, em parte, através do filtro avançado, mas neste caso, o resultado fica dividido em células e não em uma lista de dados que é o que eu desejo.
É isso, espero ter sido claro na dúvida.
Até.
Re: Como filtrar elementos exclusivos de uma lista?
Enviado: 04 Set 2016 às 07:59
por Deciog
sonymartins
Fica muito mais fácil se postar uma planilha de modelo assim poderemos fazer a formula corretamente ou outra forma.
Décio
Como filtrar elementos exclusivos de uma lista?
Enviado: 04 Set 2016 às 16:38
por sonymartins
Ok...falei isso então.
Segue em anexo um exemplo do que eu estou tentando fazer. Na planilha, cheguei no resultado usando código VBA, mas acredito que não seja necessário tanto para realizar um simples filtro. Gostaria mesmo de resolver o problema utilizando uma simples função que filtrasse uma lista original e me retornasse um conjunto de valores não duplicados que pudessem ser utilizados na "validação de dados" para a construção de uma nova lista (sem repetições.)
No anexo que envio, explico o que está sendo feito através do vba.
Até.
Como filtrar elementos exclusivos de uma lista?
Enviado: 04 Set 2016 às 18:00
por FelipeMGarcia
Como filtrar elementos exclusivos de uma lista?
Enviado: 05 Set 2016 às 09:38
por sonymartins
Olá Felipe,
Na verdade não consegui aplicar o seu código. Eu poderia tentar a adaptar ao meu caso, mas preciso que me explique um pouco mais o que esta função está fazendo:
{=SEERRO(ÍNDICE(c24:c25;MENOR(SE((CORRESP(c24:c25;c24:c25;0))=(LIN(INDIRETO("1:"&LINS(c24:c25))));LIN(INDIRETO("1:"&LINS(c24:c25)));"");LIN(INDIRETO("1:"&LINS(c24:c25)))));"")}
O que entendi foi:
LINS(c24:c25) - retorna o número de linhas da matriz c24:c25, ou seja, 2.
INDIRETO("1:"&LINS(c24:c25)) - retorna a matriz "1:2"
LIN(INDIRETO("1:"&LINS(c24:c25))) - retorna o número da primeira linha da matriz "1,2"
CORRESP(c24:c25;c24:c25;0) - retornar o último valor não nulo da matriz c24:c25
Tenho certeza que alguma dessas citadas eu não entendi direito. Se puder me explicar melhor, eu acredito que poderei adaptar o seu código ao meu caso já que ele parece estar funcionando certinho no link que vc mandou.
Até.
Re: Como filtrar elementos exclusivos de uma lista?
Enviado: 05 Set 2016 às 09:46
por Kledison
Bom dia,
outra sugestão sem usar fórmula matricial.
Att
Re: Como filtrar elementos exclusivos de uma lista?
Enviado: 05 Set 2016 às 09:50
por FelipeMGarcia
Eu fiz a fórmula na coluna H e pintei em amarelo.
Como filtrar elementos exclusivos de uma lista?
Enviado: 05 Set 2016 às 10:50
por BrunoSP
Não seria mais simples criar uma tabela dinâmica com os dados, assim a lista terá sempre somente 1 nome, sem repetição e não ficará pesada. Dai é só aplicar a lista. Venho otimizando planilhas e dependendo do tamanho do banco de dados, a matricial deixa bem mais lenta.
Re: Como filtrar elementos exclusivos de uma lista?
Enviado: 05 Set 2016 às 10:56
por DJunqueira
Tb pode fazer com Power Query / Nova Consulta.
Como filtrar elementos exclusivos de uma lista?
Enviado: 05 Set 2016 às 19:51
por sonymartins
Obrigado pela resposta pessoal!...já deu pra sentir que o nível de lógica do pessoal aqui é bem alto
Por hora, vou ficar com a ideia do Kledison já que se trata de uma fórmula mais compacta:
Código: Selecionar todos=SEERRO(ÍNDICE($A$2:$A$20;CORRESP(0;ÍNDICE(CONT.SE($H$1:H1;$A$2:$A$20);0);0));"")
A fórmula do Felipe ainda me confunde, não consigo entender como ela funciona já que não estou acostumado com a dinâmica das fórmulas matriciais. Valeu povo!