Página 1 de 1
Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 16 Abr 2021 às 14:29
por sjmartins
Olá Pessoal, bom dia!
Ajuda: tenho uma lista com vários valores como abaixo e gostaria de uma fórmula que retornasse apenas os valores sem que eles repetissem e ainda, em função do ano.
TABELA DE DADOS
DATA Dados
01/01/2020 ABEV3
02/02/2020 ABEV3
15/05/2020 BBDC4
20/06/2020 BBDC4
21/06/2020 ABCD3
20/06/2021 BBDC4
20/06/2021 ABCD5
Por exemplo, caso digitasse 2020 em uma célula fixa, o resultado da lista deveria ser:
linha 1 ABEV3
linha 2 BBDC4
linha 2 ABCD3
E no caso de 2021 o resultado deveria ser:
linha 1 ABEV3
linha 2 BBDC4
linha 2 ABCD3
linha 2 ABCD5
Tentei de várias maneiras, criando Chaves mas não conseguir

Não sei se ficou claro, mas anexei uma planilha com o resultado esperado.
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 16 Abr 2021 às 15:29
por CursoDeExcelGratis
tem duas funções que talvez podem te ajudar, ÚNICO e Filtro
a função filtro é tipo um procx porém que retorna varios registros, com ela vc pode procurar pelo ano
e a função único tira as duplicidades.
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 16 Abr 2021 às 16:03
por osvaldomp
Em F7 e arraste para baixo.
Código: Selecionar todos=SEERRO(ÍNDICE(M$8:M$18; CORRESP(0; SE(ANO(D$2)=ANO(L$8:L$18); CONT.SE(F$6:F6; M$8:M$18); ""); 0));"")
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 16 Abr 2021 às 16:54
por sjmartins
CursoDeExcelGratis escreveu:tem duas funções que talvez podem te ajudar, ÚNICO e Filtro
a função filtro é tipo um procx porém que retorna varios registros, com ela vc pode procurar pelo ano
e a função único tira as duplicidades.
Tentei com essas funções mas quando utilizo o Filtro, ele não consegue filtrar só pelo ano, então incluo a ÚNICO e ficam duas colunas. Mas realmente essas funções são muito boas. Valeu!
osvaldomp escreveu:Em F7 e arraste para baixo.
Código: Selecionar todos=SEERRO(ÍNDICE(M$8:M$18; CORRESP(0; SE(ANO(D$2)=ANO(L$8:L$18); CONT.SE(F$6:F6; M$8:M$18); ""); 0));"")
Olá Osvaldo, excelente.
Fiz e deu certo, mas dúvida: tentei fazer de outra forma, só que dessa vez ao invés de 'filtrar' as informações pelo ano, acumular inclusive os dados do ano anterior quando colocar o ano de 2021. Por exemplo, para 2020 está perfeito, mas para 2021 seriam os dados de 2020 + os de 2021. (essa é outra alternativa porque tive a ideia de 'acumular' as informações ano a ano.
Não se fui claro, mas deixei o excel.
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 16 Abr 2021 às 19:08
por CursoDeExcelGratis
boa noite @sjmartins em anexo estou enviando o mesmo resultado com o uso das funções filtro e único. no caso do filtro tem que usar o SES também, pois ele precisa de um vetor de 1 para saber quais registros devem aparecer
a função é esta aqui
=ÚNICO(FILTRO(M9:M21;SE(ANO(L9:L21)=ANO($D$2);1;0)))
o SE(ANO(L9:L21)=ANO($D$2);1;0) retorna um vetor de 1 e 0, ( 1 quando 0 ano é o selecionado caso contrario 0 )
ahi o filtro retorna todas essas linhas e por último, aplica o único para tirar as duplicidades
Repara que no filtro, no primeiro parametro, eu não inclui a coluna da data, pois eu so quero retornar a coluna do codigo da ação
só não fiz o tratamento de erro
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 16 Abr 2021 às 19:10
por CursoDeExcelGratis
ah, esqueci de comentar da pra fazer sem o Se também , mas ahi compromete a leitura
=ÚNICO(FILTRO(M9:M21;ANO(L9:L21)=ANO($D$2)))
isto funciona pois fazer uma comparação como está ANO(L9:L21)=ANO($D$2) já retorna o verdadeiro e falso, que é o que a gente precisa.
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 19 Abr 2021 às 16:34
por sjmartins
CursoDeExcelGratis escreveu: ↑16 Abr 2021 às 19:10
ah, esqueci de comentar da pra fazer sem o Se também , mas ahi compromete a leitura
=ÚNICO(FILTRO(M9:M21;ANO(L9:L21)=ANO($D$2)))
isto funciona pois fazer uma comparação como está ANO(L9:L21)=ANO($D$2) já retorna o verdadeiro e falso, que é o que a gente precisa.
Perfeito! Deu certinho.
Muito Obrigdao!
Re: Como retornar apenas o primeiro registro de uma lista com vários duplicados
Enviado: 19 Abr 2021 às 18:51
por CursoDeExcelGratis
que bom, fico contente que deu certo !