none
EXCEL - COMO CLASSIFICAR VALORES REPETIDOS RRS feed

  • Pergunta

  • Caros master em Excel,

    Tenho em uma base uma planilha do excel com duas colunas, VENDEDORES e PERFORMANCE, preciso capturar em outra planilha os três melhores vendedores através do maior valor de PERFORMANCE, sendo que o segundo lugar há um empate que não importar ficarem respectivamente em segundo  e terceiro, ocorre que das formas que tentei, as duas posições estão sempre ocupadas pelo primeiro encontrado na busca.

    Observar que não usar macro, nem classificar a base, reforço que não posso copiar a base, nem modificar nada!


     

    Desde já agradeço!


    :P

    sexta-feira, 12 de outubro de 2012 12:13

Respostas

  • Boa noite Paulo.

    Dadas todas as restrições que você colocou, não vejo saídas muito eficientes para realizar a tarefa.

    A classificação inicial dos dados, por exemplo, facilitaria muito a procura, mas dada sua necessidade, desenvolvi uma planilha que realiza essa tarefa para até 3 posições com possibilidade de repetição tripla.

    Como o código ficou um pouco complexo para descrever, deixei uma planilha em http://www.sendspace.com/file/ymxbba

    Note que você terá que copiar as fórmulas "Ordem" para o mesmo número de linhas que sua lista tiver.

    Adicionalmente, mesmo que não uma forma muito prática, segue uma imagem das fórmulas utilizadas:


    Filipe Magno

    terça-feira, 16 de outubro de 2012 01:55
  • Discuti sobre esse assunto na minha página. Acredito que seu problema poderá ser resolvido sem você distorcer seus dados com a função LIN.

    http://www.ambienteoffice.com.br/excel/classificar_dados_dinamicamente/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 17 de outubro de 2012 01:46

Todas as Respostas

  • Paulo,

    Fiz alguns testes e a principal dificuldade está em retornar a segunda referência.

    Encontrei um artigo onde o analista demonstra uma forma de usar o Procv para retornar a segunda ocorrência de um intervalo. Acredito que seja o caminho para você resolver seu problema.

    O link é http://usuariosdoexcel.wordpress.com/2011/04/26/turbinando-o-procv/


    Flavio Souza

    segunda-feira, 15 de outubro de 2012 12:34
  • Obrigado Flávio,

    Mas não posso usar macro no caso concreto.

    Sucesso!!!


    :P

    segunda-feira, 15 de outubro de 2012 23:42
  • Achei uma solução bem prática!

    Apliquei o LIN() para saber a linha, dividi por uma base que torne o fragmento irrelevante e somei ao meu valor a ser capturado, criando assim uma chave única com o próprio valor.    

    Exemplo: =D4+(LIN()/1000000)

    Resultado: 200,0004%

    O importante é que esse 0,0004% seja irrelevante.

    Obrigado aos MVP rs.


    :P

    terça-feira, 16 de outubro de 2012 00:10
  • Boa noite Paulo.

    Dadas todas as restrições que você colocou, não vejo saídas muito eficientes para realizar a tarefa.

    A classificação inicial dos dados, por exemplo, facilitaria muito a procura, mas dada sua necessidade, desenvolvi uma planilha que realiza essa tarefa para até 3 posições com possibilidade de repetição tripla.

    Como o código ficou um pouco complexo para descrever, deixei uma planilha em http://www.sendspace.com/file/ymxbba

    Note que você terá que copiar as fórmulas "Ordem" para o mesmo número de linhas que sua lista tiver.

    Adicionalmente, mesmo que não uma forma muito prática, segue uma imagem das fórmulas utilizadas:


    Filipe Magno

    terça-feira, 16 de outubro de 2012 01:55
  • Achei uma solução bem prática!

    Apliquei o LIN() para saber a linha, dividi por uma base que torne o fragmento irrelevante e somei ao meu valor a ser capturado, criando assim uma chave única com o próprio valor.    

    Exemplo: =D4+(LIN()/1000000)

    Resultado: 200,0004%

    O importante é que esse 0,0004% seja irrelevante.

    Obrigado aos MVP rs.


    :P

    Paulo,

    Dessa forma será necessário, na prática, copiar toda a base, já que terá que ter uma lista com todos os valores adicionados de um pequeno resíduo. Já que isso é possível, por quê não apenas copiar a base, classificar a lista e retirar os 3 primeiros?

    Filipe Magno

    terça-feira, 16 de outubro de 2012 02:06
  • Prezado Filipe Magno,

    Na base eu tenho aproximadamente 5 curvas ABC, uma para cada necessidade, o que inviabilizaria a classificação nela.  

    Onde eu coloquei VENDEDORES, na verdade são CLIENTES, é o objetivo e levar para uma área A4, as principais informações da BASE, confirme as CURVAS ABC's.

    Exemplo: Quais os meus 20 maiores clientes baseado na compra dos últimos 2 meses?

    A questão é que agora o meu Propagandista terá em uma folha A4 as informações resumidas com os principais clientes e na base o detalhe com todos os outros, quando ele precisar da informação antes da data de sua rota padrão, bastará atualizar a base, pronto! 

    Assim, o "LIN()" resolve meu problema, conforme expliquei na minha postagem anterior.  

    Obrigado pela atenção e sucesso!!!


    :P

    quarta-feira, 17 de outubro de 2012 00:23
  • Discuti sobre esse assunto na minha página. Acredito que seu problema poderá ser resolvido sem você distorcer seus dados com a função LIN.

    http://www.ambienteoffice.com.br/excel/classificar_dados_dinamicamente/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 17 de outubro de 2012 01:46
  • Olá Paulo

    Eu tive um desafio similar e usei tabela dinamica, deixando os valores em ordem decrescente. Sendo que eu considerava somente as 3 primeiras linhas geradas pela tabela, ou seja, o 1º, 2º e 3º colocados

    Houve uma premiação de nosso programa inovação onde juizes dava notas para as ideias conforme certos criterios. Eu precisava somar estas notas, considerar o peso de cada categoria e gerar um total para a nota em uma base de dados

    para gera a lista de campeões, usei a tabela dinamica para mostrar os valores em ordem decrescente

    Se há uma limitação no uso de tabela dinamicana sua solução, tenho outros meios mas não se resumem a uma única formula

    André

    terça-feira, 6 de novembro de 2012 14:40
  • Achei uma solução bem prática!

    Apliquei o LIN() para saber a linha, dividi por uma base que torne o fragmento irrelevante e somei ao meu valor a ser capturado, criando assim uma chave única com o próprio valor.    

    Exemplo: =D4+(LIN()/1000000)

    Resultado: 200,0004%

    O importante é que esse 0,0004% seja irrelevante.

    Obrigado aos MVP rs.


    :P

    Genial, simples e eficaz.
    terça-feira, 30 de maio de 2017 20:27