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

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
#14798
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é.
#14799
sonymartins

Fica muito mais fácil se postar uma planilha de modelo assim poderemos fazer a formula corretamente ou outra forma.

Décio
#14809
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é.
#14815
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é.
#14822
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.
#14862
Obrigado pela resposta pessoal!...já deu pra sentir que o nível de lógica do pessoal aqui é bem alto :D

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!
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