Usuário com melhor resposta
EXCEL - COMO CLASSIFICAR VALORES REPETIDOS

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
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
- Sugerido como Resposta Hezequias VasconcelosModerator quinta-feira, 18 de outubro de 2012 11:11
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 19 de outubro de 2012 11:40
-
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
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 19 de outubro de 2012 11:40
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
-
-
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
-
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
- Sugerido como Resposta Hezequias VasconcelosModerator quinta-feira, 18 de outubro de 2012 11:11
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 19 de outubro de 2012 11: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
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
-
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
-
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
- Marcado como Resposta Hezequias VasconcelosModerator sexta-feira, 19 de outubro de 2012 11:40
-
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é
-
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