 |
Ordenando
uma Coluna de Acordo com Dados de Outra |
Um dos motivos que justificam o uso de uma planilha de cálculo, como o Excel,
é sua capacidade de trabalhar informações numéricas, que podem ser acopladas à
informações alfanuméricas. Outrossim o Excel possui uma gama muito
ampla de funções que respondem à muitas das nossas necessidades do dia-a-dia. Mais
ainda, há condições de encadear funções, de tal sorte a se atingir
resultados impossíveis de se obter por modo direto.
Os problemas abaixo foram combinados numa única planilha, com o mesmo tipo de dados,
para atender às solicitações de Suporte de dois amigos Internautas: Como
Ordenar uma Coluna Baseado nos Valores de Outra Coluna?
| Os Dados:
Na Tabela ao
lado temos na Coluna A os dados referentes aos NOMES de
pessoas (poderiam ser clientes, fornecedores, funcionários, etc) enquanto na Coluna
B temos os dados referentes às suas IDADES (poderia ser
salário, valor da última compra, etc). O Problema: como colocar os Nomes em ordem
decrescente (poderia ser crescente) de Idade ?
|
| |
A |
B |
C |
D |
E |
| 1 |
NOMES |
IDADES |
|
Classif_A |
Classif_B |
| 2 |
Adriana |
23 |
|
3 |
LUIZA |
| 3 |
Sérgio |
32 |
|
2 |
SÉRGIO |
| 4 |
Rodrigo |
21 |
|
4 |
ADRIANA |
| 5 |
Kátia |
19 |
|
5 |
RODRIGO |
| 6 |
Luiza |
39 |
|
1 |
KÁTIA |
|
Observações:
- Nos exemplos acima colocamos as duas respostas solicitadas simultaneamente; na prática
pode-se utilizar a solução apresentada na coluna D, ou
utilizar a solução apresentada na
coluna E;
- Os valores e demais informações apresentadas na tabela exemplo são fictícias e foram
simplificadas para efeitos didáticos;
As Três Respostas:
- A Solução Mais Simples para Casos Semelhantes*1:
- Selecione toda a matriz de dados (no caso do nosso
exemplo: a região A2 até B6);
- Selecione o menu Dados * Classificar;
- Na janela Classificar clique na seta ao
lado da opção "Classificar por";
- Escolha o campo desejado para servir de base da
classificação (no caso a coluna IDADE);
- Selecione se a classificação deve se dar na ordem ASCENDENTE
ou DESCENDENTE;
- A Solução de Apresentar a Ordem de Cada
Elemento:
- Classificar uma coluna colocando a sua ordem
classificatória, correspondente ao geral, isto é: 1º, 2º, 3º ... colocados, é
alcançado com a utilização de uma das funções ESTATÍSTICAS do Excel
(a função ORDEM());
- Digite, na célula D2, a seguinte
função: =ORDEM(B2;$B$2:$B$6;0)*2;
- Clique na fórmula da célula D2 e
arraste até preencher até a célula D6;
- A Solução de Apresentar os Próprios Nomes
Também na Ordem Desejada:
- Classificar uma coluna diretamente em função da
ordenação de outra coluna, é algo um pouco mais complicado que a solução apontada
acima; é necessário se criar mais duas colunas (que não precisam aparecer no material
que será impresso) e combinar 2 funções diferentes numa única fórmula;
- Na coluna F (por exemplo) coloque a
mesma função apresentada na resposta acima (isto é, utilize a função ORDEM),
arrastando a fórmula acima pela região das células F2:F6;
- Na coluna G (por exemplo) digite a ordem
desejada com os números seqüenciais: 1, 2, 3 etc (sendo que o 1 irá ser digitado na
célula G2, o 2 na célula G3, e assim por diante);
- Na coluna E (a última que deverá ser
apresentada em papel e/ou ficar visível na tela) digite a fórmula:
=ÍNDICE($A$2:$A$6;CORRESP(G2;$F$2:$F$6;0))*3;
(*1) Essa
solução atende a maioria das necessidades;
(*2) Se fosse
desejado ordenar na seqüência crescente, bastaria substituir o 0, no
terceiro argumento da função ORDEM, pelo 1 como em =ORDEM(B2;$B$2:$B$6;1);
(*3) A parte da
fórmula, que corresponde à função CORRESP, trás a correspondência
do número da linha - da matriz de dados - que corresponde ao número digitado na coluna G;
à seguir a função ÍNDICE trás o valor texto colocado na coluna A,
que corresponde àquele número de linha da matriz retornado pela função CORRESP;
para o exemplo em questão na linha 2 teríamos que a linha correspondente ao primeiro
colocado em idade - é o nome da linha 5 (da matriz) - 6 na planilha - que vai
corresponder ao nome de LUIZA; e assim sucessivamente até a última
linha de dados;
|