Olá amigos!
Essa dica vai para aquelas situações onde precisamos classificar uma determinada listagem e a ferramenta “Classificar” não atenderia da maneira que precisamos naquele momento. Lembre-se que a ferramenta classificar reorganiza toda a disposição dos dados nas colunas. No entanto, há situações em que precisamos apenas de gerar informações com aqueles dados e uma alteração de layout não seria interessante.
Nesse caso, apresento uma solução em que, uma listagem numérica disposta aleatóriamente será exibida em outras colunas classificadas em ordem crescente e decrescente, respectivamente.
A solução que vou demonstrar utiliza-se de fórmulas do excel, ou seja, é uma solução dinâmica, bem útil para aquelas situações que sofrem atualizações constantes. Este caso é parecido com o que eu falei no artigo sobre inversão de tabelas da horizontal para vertical, pois existe o recurso desta ação pelo menu do Excel ou através de fórmulas, para os casos mais dinâmicos.
Entendendo a questão
Digamos que você tenha uma listagem como mostrada na figura abaixo.
E queira exibir seus dados classificados em outras duas colunas. Assim:
Apresentando a solução
Para exibir a lista classificada do menor para o maior (ordem crescente), utilize a fórmula, inserindo-a em todas as linhas adjacentes as linhas da coluna B:
=MENOR($B$3:$B$27;LIN()-LIN($C$3)+1)
E para classificar de forma inversa, do maior para o menor (ordem decrescente), digite a fórmula:
=MAIOR($B$3:$B$27;LIN()-LIN($D$3)+1)
O resultado ficará assim:
Bem legal né.
Quer aprender mais sobre Excel? Indico um curso online muito bom. Você acessar várias vídeo-aulas bem explicativas e no fim do curso recebe um Certificado de Conclusão. Veja o curso aqui.
Um abraço.
| MENOR | Retorna o menor valor k-ésimo do conjunto de dados. Use esta função para retornar valores com uma posição específica relativa em um conjunto de dados.Sintaxe
MENOR(matriz;k) Matriz é uma matriz ou intervalo de dados numéricos cujo menor valor k-ésimo você deseja determinar. K é a posição (a partir do menor) na matriz ou intervalo de dados a ser fornecido. Comentários
|
| MAIOR | Retorna o menor valor k-ésimo do conjunto de dados. Use esta função para retornar valores com uma posição específica relativa em um conjunto de dados.Sintaxe
MAIOR(matriz;k) Retorna o maior valor k-ésimo de um conjunto de dados. Você pode usar esta função para selecionar um valor de acordo com a sua posição relativa. Por exemplo, você pode usar MAIOR para obter o primeiro, o segundo e o terceiro resultados. Matriz é a matriz ou intervalo de dados cujo maior valor k-ésimo você deseja determinar. K é a posição (do maior) na matriz ou intervalo de célula de dados a ser fornecida. Comentários
Se n for o número de pontos de dados em um intervalo, MAIOR(matriz;1) retornará o maior valor e MAIOR(matriz;n) retornará o menor valor. |









E se houver legendas? por exemplo: meses do ano e valore de vendas… como fazer a coluna do mêss acopanhar a do valor ?
Reply
exceldoseujeito Reply:
julho 17th, 2009 at 17:38
Neste caso você deverá usar outro método de classificação, do estilo do comando classificar do menu Dados.
Abraço.
Reply
Gostaria de saber como se procede em uma classificação de numeros digitados em uma linha e não em uma coluna , sendo que cada numero digitado em celulas diferente ,exemplo:
48 46 45 43 42 41 50 44 47 49
18 16 15 13 12 11 20 14 17 19
38 37 35 34 33 31 39 32 36 40
05 03 06 02 01 07 09 10 04 08
Eu gostaria que á ordem fosse assim:
01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50:
Sera possivél?existe recurço no excel? Obrigado pela atenção .e aguardo resposta no email.
Reply
exceldoseujeito Reply:
agosto 15th, 2009 at 11:41
Olá Arnaldo,
Você pode usar a mesma fórmula. No entanto, deve definir, uma a uma, as posições de classificação na matriz. Exemplo:
Supondo que sua matriz com os números aleatórios esteja em $A$1:$J$4, sua fórmula para o primeiro item ficaria assim:
=MENOR($A$1:$J$4;1)
Para o segundo item classificado, assim:
=MENOR($A$1:$J$4;2)
Para o décimo-quinto, portanto, já na segunda linha, assim:
=MENOR($A$1:$J$4;15)
Entendeu? A matriz será sempre a mesma, mudará apenas a posição de classificação, ok?
Arnaldo, existem outras maneiras mais automatizadas ainda, porém, demandam um tempinho para desenvolver através de macros. Mas acredito que deste modo já atenda as suas necessidades.
Abraços
Reply
OLÁ… BOA NOITE… GOSTARIA DE UMA GRANDE AJUDA SOBRE UMA FORMULA PARA SE TRANSFERIR UNS NÚMEROS DE UM LADO DIGAMOS: LADO 1 E LADO 2, ONDE OS NUMEROS NAO ESTÃO EM ORDEM CRESCENTE POR LINHA… GOSTARIA DE CRIAR LADO 3 E 4 PARA PUXAR DO LADO 1 E LADO 2 SÓ QUE JÁ CAIA NOS LADOS 3 E 4 EM ORDEM CRESCENTE… SE NAO ENTENDEU, POR FAVOR.., MEU E-MAIL É: antoniofloquet@bol.com.br E PASSAREI O ARQUIVO PRA QUE VOCE POSSA FAZER E ME AJUDAR OK??? MUITO OBRIGADO… ANTONIO CARLOS
Reply
Reinaldo Coral Reply:
setembro 19th, 2009 at 22:37
Cara, a explicação neste artigo já satisfaz a sua necessidade. É só adaptar…
No exemplo eu fiz com somente uma coluna desordenada…
Você usa esse modelo para as demais colunas, ok.
Reply
CARISSIMO SENHOR REINALDO…
MUITO BOM DIA…
PEÇO DESCULPA POR ESTÁ BATENDO NA MESMA TECLA O ASSUNTO, NA REALIDADE, EU TENHO UMA PLANILHA DE ‘A ATÉ Q, ONDE PARA CADA LETRA, UM NÚMERO, JÁ POSSUO NESSA PLANILHA DIVIDIDA EM 2 LADOS ONDE JÁ SAEM AS NUMERAÇÕES.., COMO FALEI, ESSA PLANILHA ESTÁ DIVIDIDA EM 2 LADOS… CRIEI MAIS LADO 3 E LADO 4, ONDE O LADO 3 PUXARÁ OS NUMEROS DO LADO 1 E A 4 DO LADO 2…, SÓ QUE, GOSTARIA QUANDO OS LADOS 3 E 4 QUANDO PUXASSE, JA CAISSE EM ORDEM CRESCENTE ENTENDEU??? POR FAVOR, ME AJUDE… SE POSSÍVEL, PASSE A FORMULA OU SEU E-MAIL PARA EU TE PASSAR VIA E-MAIL A PLANILHA… POR FAVOR, ME AJUDE, POIS JÁ TENTEI DIVERSAS VEZES E NAO CONSIGO… UM GRANDE ABRAÇO E BOM DIA… MEU E-MAIL É: antoniofloquet@uol.com.br SE VOCE PODER RESPONDER ENVIANDO POR MEU E-MAIL, EU TE MANDAREI A PLANILHA PRA VOCE VER.. MUITO OBRIGADO..
Reply
Caro Reinaldo,
Tenho uma planilha que monitora quantas viagens cada veículo realiza em um período de um cliente a outro, porém o que me dificulta é como calcular a quantidade de viagens realizadas por cada veículo aos “Sábados, Domingos e Fora do Horário Comercial(horas extras)”
OPERAÇÃO DATA DIA SEMANA FROTA MOTORISTA CHEGADA SAIDA Dt STATUS CHEGADA Dt STATUS SAIDA Dt STATUS SAIDA PORT EXTRA
Renault 01/09/09 Terça 7 ATAMIL 18:40 18:51 0:11 OK 19:20 0:29 OK 20:57 01:37 NOK 21:03 NÃO
Renault 01/09/09 Terça 7 ATAMIL 21:31 21:47 0:16 OK 22:16 0:29 OK 22:35 00:19 NOK 22:40 NÃO
Renault 02/09/09 Quarta 3 JOSE DIRCEU 5:56 6:31 0:35 OK 6:58 0:27 OK 7:40 00:42 NOK 07:45 NÃO
Renault 02/09/09 Quarta 5 ODAIR 13:59 14:52 0:53 NOK 15:21 0:29 OK 15:32 00:11 OK 15:35 NÃO
Renault 03/09/09 Quinta 6 LUCIANO ROCHA 6:52 7:28 0:36 OK 7:56 0:28 OK 8:18 00:22 NOK 08:23 NÃO
Renault 03/09/09 Quinta 6 LUCIANO ROCHA 8:50 9:55 1:05 NOK 10:24 0:29 OK 10:41 00:17 NOK 10:46 NÃO
Renault 03/09/09 Quinta 1 JOAO VARGAS 19:53 20:31 0:38 OK 20:59 0:28 OK 22:33 01:34 NOK 22:39 NÃO
Renault 13/09/09 Domingo 10 RAMIREZ 0:00 0 0:00 OK 00:00 OK NÃO
Renault 12/09/09 Sabado 10 RAMIREZ 0:00 0 0:00 OK 00:00 OK NÃO
Renault 12/09/09 Sabado 10 RAMIREZ 0:00 0 0:00 OK 00:00 OK NÃO
Reply
Reinaldo Coral Reply:
setembro 25th, 2009 at 12:39
Ramirez,
Não entendi bem a lógica disposta em sua planilha. De qualquer maneira, não sei se você leu uma artigo publicado aqui sobre calculo entre datas. Talvez possa te ajudar.
Acesse: http://www.exceldoseujeito.com.br/2008/12/16/calculando-um-intervalo-entre-datas/
Um abraço
Reply
Olá eu tb estou com uma duvida…
Produto 2º-Feira 3ºFeira 4º-Feira 5º-Feira 6º-Feira Total
trs 2 222 1 3 3 5 234
trs 1 222 6 7 3 5 243
Eu precisaria que a linha toda acompanhasse o resultado maior, ou seja preciso de saber qual produto esta sendo o mais vendido na semana
Reply
Reinaldo Coral Reply:
novembro 6th, 2009 at 12:10
Olá, você pode usar o comando Classificar... no menu Dados.
Selecione a região onde estão os dados de sua tabela, acesse o menu Dados > Classificar…
Então, escolha qual coluna deve ser a index, ou seja, a principal classificada…. e todas as outras colunas referentes a linha de registro irão acompanhá-la, respectivamente.
Abraço.
Reply
Gostaria de saber como deixar crescente as numeração numa linha somente
ex: 1 2 3 10 15 14 11 9 8
para ficar assim:
ex: 1 2 3 8 9 10 11 14 15
obrigado
Reply
Reinaldo Coral Reply:
dezembro 31st, 2009 at 15:27
Tenta assim:
=MENOR($A$1:$I$1;COL()-COL($A$1)+1)
Supondo que o intervalo com os números desordenados esteja de A1 até I1.
Abraços
Reply
oi, queria saber como posso classificar uma coluna de números em ordem decrescente, alterando também o nome e outros valores que fazem parte da mesma linda, ou seja, classificar as linhas em ordem decrescente de acordo com apenas um valor pertencente a mesma, mas de coluna diferente. EX: uma relação de aprovados em concurso, com nomes e respectivas notas.
Reply
Reinaldo Coral Reply:
janeiro 18th, 2010 at 11:33
Olá Tiago
Selecione toda a planilha.
Vá ao menu Dados > Classificar…
Na tela que vai aparecer, você poderá classificar sua planilha em até três níveis.
Exemplo:
Classificar primeiro por Nome em ordem crescente, seguido por maior nota (ordem decrescente)….
Entendeu?
Teste aí, que você verá os resultados.
Abraço
Reply
Olá Tiago,
Parabéns pelo seu Blog, muito importante o seu conteúdo, me ajuda muito diariamente e tenho certeza que ajuda muitas outras pessoas.
Gostaria de pedir uma ajuda:
Preciso classificar alguns números, só que a ordenação será pelo 2 digitos finais, ou seja ao contrário da classificação normal, tem como fazer isso?
Ex.: (Ordem atual)
7989079761104
9780345381361
9780345381439
9780345381460
9780345381477
9780345381521
9780345381644
Resultado da ordenação que eu preciso:
7989079761104
9780345381521
9780345381439
9780345381644
9780345381460
9780345381361
9780345381477
Obrigado pela atenção.
Abraços,
Ricardo
Reply
Reinaldo Coral Reply:
janeiro 21st, 2010 at 12:34
Ricardo,
Tente fazer esta manobra:
Supondo que sua lista original começe em A1.
1 – Adicione uma nova coluna (B) para incluir uma fórmula que servirá de comparação. Insira a fórmula:
=VALOR(DIREITA(A1;2) & A1)
2 – Arraste esta fórmula até a última linha que contenha dados na sua lista original. Neste exemplo até a linha 7.
3 – Na coluna C (coluna onde será exibida a lista já classificada corretamente), escreva a seguinte fórmula:
=DIREITA(MENOR($B$1:$B$7;LIN()-LIN($C$1)+1);13)
4 – Copie-a até a última linha.
OBS: O número 7 (escrito em $B$7) corresponde a última linha da lista original. E o número 13, ao total de dígitos de seus dados numéricos.
Espero que resolva.
Abraço
Reply
Ops!
Por favor, me desculpe a troca dos nomes, Leia-se Reinaldo Coral onde escrevi Tiago
Abs,
Reply