Ir ao conteúdo
  • Cadastre-se
Chico Rodrigues

RESOLVIDO Como filtrar uma coluna com itens repetido baseado em 3 outras colunas?

Recommended Posts

Tenho um problema aqui, veja se pode me ajudar.
minha tabela possui 4 principais colunas;
Col1 = Serial
Col2 = Status
Col3 = Desc
Col4 = Data
onde quando a coluna 1 possuir dados repetidos estes devem ser unicos, assim posteriormente então tenho que analisar a coluna 2 que pode conter Fail ou Pass, 
quando existir 2 fails devo descartar o mais velho por data Col4.
quando existir 1 fail e 1 pass devo descartar o fail.
quando existir 2 pass devo então analisar a coluna 3 que pode conter Null ou Rework, e devo descartar então o Null.
pode existir outras combinações como 3 ou mais Pass, onde devo analisar a coluna 3 e manter o que for Rework e depois analisar por data Col4 mantendo então apenas o ultimo Rework. O resultado fica assim: Col1:1234  Col2:Pass  Col3: Rework  Col4: Ultima data.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Chico Rodrigues,

 

por favor, pode preencher uma planilha com algumas linhas seguindo essas condições?

 

Com ela será mais fácil criar uma capa para consultar o último movimento positivo do serial 1234.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Chico Rodrigues

 

Usei a fórmula abaixo para cada campo que quero visualizar. Vou tentar explicar a lógica de cada componente dela, vamos nos falando.

 

Fórmula:

=PROCV(CONCATENAR($B$17;"-";CONT.SE($B$2:$B$13;$B$17));$A$1:$G$13;COL();0)

 

Depuração da fórmula:

CONT.SE($B$2:$B$13;$B$17) = estou descobrindo quantos registros o serial na célula B17 possui na tabela

CONCATENAR($B$17;"-";CONT.SE($B$2:$B$13;$B$17)) = estou concatenando o valor da B17 (o serial procurado) com o número contado na linha (azul) acima). Ou seja, se o serial ABC possuir 4 registros, essa linha vai retornar ABC-4

PROCV = então pegamos a condição ABC-4 produzida pela fórmula acima e fazemos um PROCV simples na tabela original para puxar cada campo

COL() = retorna o número da coluna em que a célula está sendo formulada. Por exemplo, se inserir essa fórmula na coluna A, ela retorna 1, na coluna B, 2... e por aí vai. Isso foi utilizado para otimizar a fórmula do PROCV em seu 3º atributo, índice da coluna, você pode tanto deixar essa fórmula como inserir os números das colunas manualmente.

 

Para ela funcionar, criei uma coluna depois e uma antes da sua tabela. Sendo:

 

Coluna J: Conta via fórmula quantos registros o serial específico tem na tabela (é importante que os registros sejam sempre organizados por SERIAL para ela funcionar, ou seja, com a exata disposição que você me passou na tabela original

 

Nova coluna A: é a concatenação da coluna B com a coluna J, formando um indicador de qual é o registro do serial que estamos buscando. Por exemplo, se o serial 1234 tem 4 registros, ele vai criar na coluna A o seguinte resultado

1234-1

1234-2

1234-3

1234-4

 

Assumindo então que todo último registro é o que vence todas as condições que você listou no primeiro post desse tópico, capturamos então, via PROCV, essa linha com base na concatenação acima.

 

A ideía é deixar a coluna A e J oculta.

 

No anexo tem a aplicação disso tudo. 

 

Essa é uma das soluções, um outro jeito mais complexo e completo (anti-usuário) seria através de Macro, mas para a necessidade atual acredito que essa forma lhe atenda.

 

Espero que ajude!

regra.xlsx

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Chico Rodrigues

 

É importante que quando for adaptar a fórmula para a planilha em que realmente ela fará uso, você precisa saber que as referências estão trancadas e que a fórmula, exatamente como postei, pode deixar de funcionar se inserida em um layout novo. Novamente, tanto a explicação quanto o anexo que postei são para lhe auxiliar com a lógica do processo e o que usar para fazer acontecer.

 

De qualquer forma, se depois de você tentar não funcionar, posta o arquivo que lhe ajudo a adaptar a fórmula para o novo layout.

 

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@minoso,

Muito obrigado pela atenção.

 

* a data vence somente quando são iguais os fails ou tenho 3 pass por exemplo .

Col B: 123 Col C:PASS Col D: Null 

Col B: 123 Col C:PASS Col D: Rework

Col B: 123 Col C:PASS Col D: Rework

 

 

mais uma vez muito obrigado, me ajudou muito.

 

Chico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente @Chico Rodrigues, a fórmula toda passa a funcionar se, e somente se, a ordem de registro do serial estiver inserida em ordem. Logo a lógica entenderá que o último registro do serial 123 será a linha que você quer retornar.

 

Se o post que eu fiz ajudou, não deixe de curtir e marcar como 'melhor resposta', isso me ajuda no fórum ;)

 

Se precisar de algo mais, só criar o tópico! Estou de olho :D

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×