Classificar no Excel: organize dados por texto, data, número ou cor
Classificar dados no Excel é uma tarefa comum e simples que permite reorganizar suas informações conforme o tipo de ordenação desejada. Normalmente, com o recurso de Classificação integrado, você pode organizar números, textos, datas e horários em uma ou mais colunas; também é possível classificar dados por uma lista personalizada criada por você ou por formatação de célula (como cor da fonte, cor de fundo ou ícone), de forma rápida e fácil.
Além dessas classificações simples, há opções mais avançadas e úteis que podem ser necessárias no seu dia a dia. Este tutorial apresenta diferentes tipos de classificação para ajudar a resolver seus problemas no Excel.
Índice:
1. Acessando as opções de classificação no Excel
- 1.1 Botões de classificação na faixa de opções
- 1.2 Caixa de diálogo de classificação
- 1.3 Opções de classificação no menu Filtro
- 1.4 Opções de classificação com o botão direito
2. Usos básicos da classificação
- 2.1 Classificar dados por textos, números ou datas
- 2.2 Classificar dados por cor da célula, cor da fonte ou ícone da célula
- 2.3 Classificar dados por várias colunas
- 2.4 Classificar dados com base em uma lista personalizada
- 2.5 Classificar dados da esquerda para a direita (classificação horizontal)
- 2.6 Classificar dados diferenciando maiúsculas de minúsculas
3. Usos avançados da classificação
4. Classificar dados automaticamente ao inserir ou alterar dados
- 4.1 Classificar automaticamente valores numéricos em uma coluna com fórmulas
- 4.2 Classificar automaticamente valores de texto em uma coluna com fórmulas
- 4.3 Classificar automaticamente a mistura de valores numéricos e de texto em uma coluna com código VBA
5. Outros casos de classificação
Acessando as opções de classificação no Excel
O Excel oferece diversas maneiras de acessar o recurso de Classificação e suas opções.
1.1 Botões de classificação na faixa de opções
A maneira mais rápida de aplicar a classificação é utilizando os botões de classificação na faixa de opções.
Clique em qualquer célula de uma coluna com valores a serem classificados e, em seguida, clique na guia Data, na seção Sort & Filter, e escolha o botão Sort A to Z ou Sort Z to A para classificar os dados em ordem alfabética crescente ou decrescente. Veja a imagem:
Observação: Se houver linhas em branco no Range de dados, ao aplicar esses botões, apenas o Range de dados da célula selecionada acima ou abaixo das linhas em branco será classificado com sucesso.
1.2 Caixa de diálogo de classificação
No grupo Sort & Filter da guia Data, há outro botão Sort, veja a imagem:
Após clicar neste botão Sort, uma caixa de diálogo Sort será exibida conforme mostrado na imagem abaixo:
Em seguida, na caixa de diálogo Sort, você pode escolher as regras correspondentes para classificar os dados conforme necessário.
Dicas: Você também pode usar atalhos de teclado para abrir esta caixa de diálogo Sort, pressione as teclas Alt + A + S + S consecutivamente no teclado.
1.3 Opções de classificação no menu Filtro
Se você aplicou filtros ao seu Range de dados, também pode encontrar opções de classificação junto com as opções de filtro. Ao clicar no ícone de filtro em qualquer coluna, você verá as opções de classificação na lista expandida conforme mostrado na imagem abaixo:
Observação: Essas opções de classificação mudam conforme o tipo de dado na coluna: Se houver texto, aparecerá Sort A to Z, Sort Z to A; Se houver números, aparecerá Sort Smallest to Largest, Sort Largest to Smallest; Se houver datas, aparecerá Sort Oldest to Newest, Sort Newest to Oldest.
1.4 Opções de classificação com o botão direito
No Excel, você também pode usar as opções de classificação ao clicar com o botão direito para ordenar dados de forma rápida e fácil. Clique com o botão direito em qualquer célula de uma coluna com valores a serem classificados e, no menu de contexto, você verá seis opções de classificação disponíveis. Selecione a que desejar, veja a imagem:
Usos básicos da classificação
O recurso de Classificação do Excel pode ajudar você a realizar classificações simples, como ordenar números, textos ou datas em ordem crescente ou decrescente, ou classificar células com base na cor da fonte ou do fundo. Esta seção aborda alguns usos básicos desse recurso.
2.1 Classificar dados por textos, números ou datas
Para classificar um Intervalo de dados por textos, números ou datas em ordem crescente ou decrescente, siga os passos abaixo:
1. Selecione o Range de dados que deseja classificar e clique em Data > Sort, veja a imagem:
2. Na caixa de diálogo Sort, realize as seguintes operações:
- Na seção Column, selecione o nome da coluna pela qual deseja classificar;
- Na seção Sort On, selecione a opção Cell Values;
- Na seção Order, especifique a ordem de classificação. (Para ordenar textos, selecione A to Z ou Z to A; para números, escolha Smallest to Largest ou Largest to Smallest; para datas, selecione Oldest to Newest ou Newest to Oldest.)
- Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque essa opção.
3. Em seguida, clique no botão OK, e os dados selecionados serão classificados com base na coluna especificada imediatamente.
2.2 Classificar dados por cor da célula, cor da fonte ou ícone da célula
Se você deseja classificar o Range de dados com base na cor da célula, cor da fonte ou ícone de formatação condicional, o recurso de Classificação pode resolver essa tarefa rapidamente.
Suponha que você tenha um Range de dados formatado com cores de célula, como mostrado na imagem abaixo. Se precisar reorganizar os dados pela cor da célula, por exemplo, colocando as linhas vermelhas no topo, seguidas pelas amarelas e depois azuis, para classificar as linhas por cor da célula, faça assim:
1. Selecione o Range de dados que deseja classificar pela cor da célula e clique em Data > Sort para abrir a caixa de diálogo Sort.
2. Na caixa de diálogo Sort, especifique as seguintes operações:
2.1) Defina a primeira cor de célula no topo assim:
- Na seção Column, selecione Name ou outra coluna onde estão as células coloridas. Neste exemplo, todas as colunas têm células coloridas, então você pode escolher qualquer nome de coluna;
- Na seção Sort On, selecione a opção Cell Color;
- Na seção Order, escolha a cor de célula que deseja colocar no topo ou na base;
2.2) Depois, clique no botão Adicionar condições para incluir a segunda e demais regras, repetindo os passos acima para definir as outras cores de célula.
- Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Após concluir as configurações, clique em OK e o Range de dados será classificado pela cor da célula especificada, veja a imagem:
Dicas: Seguindo os passos acima, você também pode classificar os dados por cor da fonte ou ícone da célula escolhendo a opção Cor da Fonte ou Ícone de Formatação Condicional na caixa de diálogo Sort.
2.3 Classificar dados por várias colunas
Se você possui um grande conjunto de dados como mostrado na imagem abaixo e deseja realizar uma classificação multinível para facilitar a leitura, por exemplo, primeiro pela coluna Região, depois Estado e por fim Vendas, veja como fazer isso no Excel:
Para classificar dados por várias colunas, siga os passos abaixo:
1. Selecione o Range de dados que deseja classificar e clique em Data > Sort para abrir a caixa de diálogo Sort.
2. Na caixa de diálogo Sort, clique duas vezes no botão Adicionar condições, pois você usará três colunas para a classificação. Assim, dois níveis Then by serão adicionados à lista:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Nas listas suspensas Sort by e Then by, selecione os nomes das colunas pelas quais deseja classificar e, em seguida, escolha Cell Values na seção Sort On para cada coluna selecionada. Por fim, defina a ordem de classificação conforme necessário.
4. Depois, clique em OK e você verá o resultado da classificação conforme mostrado na imagem abaixo:
2.4 Classificar dados com base em uma lista personalizada
Além de classificar dados em ordem alfabética ou numérica, o recurso de Classificação também permite ordenar por uma lista personalizada. Por exemplo, você pode querer classificar o Range de dados abaixo pelo Status - Não Iniciado, Em Progresso, Concluído, conforme definido por você. Veja como lidar com esse tipo de classificação.
1. Selecione o Range de dados que deseja classificar e clique em Data > Sort para abrir a caixa de diálogo Sort.
2. Na caixa de diálogo Sort, selecione a coluna que deseja classificar na seção Column, depois escolha Cell Values na seção Sort On e, na seção Order, clique em Lista personalizada, veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Uma caixa Custom Lists será exibida, realize as seguintes operações:
- Clique em NOVA LISTA na caixa de listas personalizadas;
- Digite as sequências de texto na ordem desejada na caixa List entries; (Ao digitar os textos, pressione Enter para separar as entradas.)
- Por fim, clique no botão Adicionar, a nova lista será adicionada à caixa Custom lists imediatamente.
4. Em seguida, clique em OK para retornar à caixa de diálogo Sort. A nova lista personalizada de itens será exibida na lista suspensa Order.
5. Depois, clique em OK para fechar a caixa de diálogo. Como resultado, o Range de dados será classificado pela lista personalizada definida por você, veja a imagem:
2.5 Classificar dados da esquerda para a direita (classificação horizontal)
Normalmente, você classifica a tabela de dados verticalmente, de cima para baixo, mas às vezes pode ser necessário ordenar os dados com base nos valores das linhas (da esquerda para a direita). Por exemplo, no Range de dados abaixo, quero classificar com base nos valores da linha Nome.
Nesse caso, o recurso de Classificação possui uma funcionalidade interna que permite classificar da esquerda para a direita. Siga os passos abaixo:
1. Selecione o Range de dados (exclua os cabeçalhos) que deseja classificar e clique em Data > Sort para abrir a caixa de diálogo Sort.
2. Na caixa de diálogo Sort exibida, clique no botão Opções e, em seguida, na caixa de diálogo Sort Options, selecione a opção Sort left to right, veja a imagem:
3. Clique em OK para voltar à caixa de diálogo Sort. Agora, na seção Row, especifique o número da linha pela qual deseja classificar os dados, depois selecione Cell Values na seção Sort On e, por fim, escolha a ordem de classificação desejada na seção Order, veja a imagem:
4. Depois, clique em OK e seus dados serão classificados conforme mostrado na imagem abaixo:
2.6 Classificar dados diferenciando maiúsculas de minúsculas
Geralmente, a classificação de dados não diferencia maiúsculas de minúsculas, como mostrado na primeira imagem abaixo. Mas se você quiser que a classificação seja sensível a maiúsculas e minúsculas, como na segunda imagem, veja como resolver isso no Excel:
Para realizar uma classificação diferenciando maiúsculas de minúsculas no Excel, faça assim:
1. Selecione o Range de dados que deseja classificar e clique em Data > Sort para abrir a caixa de diálogo Sort.
2. Na caixa de diálogo Sort, na seção Column, especifique o nome da coluna pela qual deseja classificar os dados, depois selecione Cell Values na seção Sort On e, por fim, escolha a ordem de classificação desejada na seção Order, veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Clique no botão Opções nesta caixa de diálogo e, na caixa Sort Options, marque a opção Diferenciar maiúsculas de minúsculas, veja a imagem:
4. Clique em OK > OK para fechar as caixas de diálogo. Os dados serão classificados diferenciando maiúsculas de minúsculas, com as letras minúsculas primeiro e depois as maiúsculas quando o texto for igual. Veja a imagem:
Usos avançados da classificação
No seu dia a dia, você pode se deparar com outros problemas de classificação mais complexos, práticos e específicos. Esta seção aborda vários tipos de tarefas de classificação no Excel.
3.1 Classificar dados com base na frequência
Suponha que você tenha uma lista de dados em uma coluna e deseje classificar essa coluna em ordem decrescente de frequência de ocorrência dos dados, como mostrado na imagem abaixo. Aqui, apresento dois métodos para resolver essa tarefa.
Classificar dados com base na frequência usando uma coluna auxiliar
No Excel, não há uma maneira direta de classificar dados por contagem de ocorrências. Aqui, você pode criar uma fórmula auxiliar para obter a frequência de cada texto e, em seguida, classificar pela coluna auxiliar para obter o resultado desejado.
1. Digite a fórmula abaixo em uma célula em branco ao lado dos dados originais, por exemplo, B2, e arraste a alça de preenchimento para baixo para aplicar a fórmula, veja a imagem:
=COUNTIF($A$2:$A$16,A2)
Observação: Na fórmula acima, A2:A16 é a lista de dados que você deseja classificar por frequência e A2 é o primeiro dado dessa lista.
2. Em seguida, mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja as imagens:
3. Depois, clique no botão Sort. Agora a coluna original foi classificada pela frequência, conforme mostrado nas imagens:
1. Após obter o resultado, você pode excluir a coluna auxiliar, se desejar.
2. Se houver textos que aparecem o mesmo número de vezes, o mesmo texto pode não ser classificado junto. Nesse caso, vá até a Sort caixa de diálogo, classifique primeiro pela coluna auxiliar e depois pelo texto, conforme mostrado na imagem:
Classificar dados com base na frequência usando um recurso prático
Se você possui o Kutools para Excel, com o recurso Classificação Avançada, é possível classificar os dados pela frequência de ocorrência sem precisar de coluna auxiliar, de forma rápida e fácil.
1. Selecione a lista de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada, veja a imagem:
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e, em seguida, escolha Frequência na lista suspensa Sort On. Por fim, defina a ordem de classificação na seção Ordem, veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique no botão OK. A lista de dados será classificada por contagem de ocorrência imediatamente, veja a imagem:
3.2 Classificar dados com base no comprimento dos caracteres
Se você possui uma lista de dados com textos de diferentes comprimentos, pode ser necessário classificar os dados pelo número de caracteres para deixar a coluna mais organizada. Esta seção mostra como classificar dados pelo número de caracteres.
Classificar dados com base no comprimento dos caracteres usando uma coluna auxiliar
Para classificar uma coluna pelo comprimento dos caracteres, utilize a função LEN para calcular o número de caracteres de cada célula e, em seguida, aplique a função Sort para classificar a lista de dados. Siga os passos abaixo:
1. Digite esta fórmula =LEN(A2) em uma célula em branco ao lado dos dados originais, por exemplo, B2, e arraste a alça de preenchimento para baixo para aplicar a fórmula, veja a imagem:
2. Em seguida, mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. As cadeias de texto serão classificadas pelo comprimento dos caracteres. Você pode excluir a Coluna B auxiliar, se desejar. Veja a imagem:
Classificar dados com base no comprimento dos caracteres com uma opção fácil
Para classificar rapidamente os dados pelo número de caracteres, recomendo a ferramenta Kutools para Excel. Com o recurso Classificação Avançada, você realiza essa tarefa com facilidade.
1. Selecione a lista de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e escolha Comprimento do texto na lista suspensa Sort On. Por fim, defina a ordem de classificação desejada na seção Ordem. Veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique no botão OK. As cadeias de texto da lista serão classificadas pelo comprimento dos caracteres, conforme mostrado na imagem abaixo:
3.3 Classificar nomes completos pelo sobrenome
Ao classificar uma lista de nomes completos, o Excel utiliza o primeiro caractere do nome. Mas se você quiser classificar pelos sobrenomes, veja alguns truques para ordenar nomes completos pelo sobrenome no Excel de forma fácil.
Classificar nomes completos pelo sobrenome usando uma coluna auxiliar
Para classificar nomes completos pelo sobrenome, extraia os sobrenomes para uma nova coluna e, em seguida, use o recurso Sort para organizar os nomes completos em ordem alfabética pelo sobrenome. Siga os passos abaixo:
1. Digite ou copie a fórmula abaixo em uma célula em branco ao lado dos dados originais, por exemplo, B2, e arraste a alça de preenchimento para baixo para aplicar a fórmula, veja a imagem:
=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))
2. Continue selecionando as células da fórmula e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. Você obterá os nomes completos classificados pelo sobrenome. Após concluir, pode excluir a coluna auxiliar, se desejar. Veja a imagem:
Classificar nomes completos pelo sobrenome com um método rápido
Se você não está familiarizado com fórmulas, para classificar nomes completos pelo sobrenome sem fórmulas, o recurso Classificação Avançada do Kutools para Excel pode ajudar.
1. Selecione as células com nomes completos que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e escolha Sobrenome na lista suspensa Sort On. Por fim, defina a ordem de classificação desejada na seção Ordem. Veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique no botão OK. A coluna de nomes completos será classificada pelo sobrenome imediatamente.
3.4 Classificar endereços de e-mail por domínio
Se você possui uma lista de endereços de e-mail e deseja classificá-los pelo domínio, e não apenas pela primeira letra do endereço, veja alguns métodos rápidos para classificar endereços de e-mail por domínio no Excel.
Classificar endereços de e-mail por domínio usando uma coluna auxiliar
Aqui, você pode criar uma fórmula para extrair os domínios dos e-mails para outra coluna e, em seguida, classificar os endereços originais com base na nova coluna de domínio.
1. Digite a fórmula a seguir em uma célula em branco ao lado do endereço de e-mail, neste exemplo, em C2, e arraste a alça de preenchimento para o Range desejado. Todos os domínios de e-mail serão extraídos dos endereços, veja a imagem:
=RIGHT(B2,LEN(B2)-FIND("@",B2))
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de diálogo Sort Warning, marque Expand the selection, veja a imagem:
3. Depois, clique no botão Sort para classificar os dados pelos domínios de e-mail em ordem crescente ou decrescente, conforme especificado.
4. Após a classificação, você pode excluir a coluna auxiliar, se desejar.
Classificar endereços de e-mail por domínio em poucos cliques
Se você possui o Kutools para Excel, com o recurso Classificação Avançada, os endereços de e-mail podem ser classificados alfabeticamente pelos domínios em apenas alguns cliques.
1. Selecione todo o Range de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e escolha Domínio de e-mail na lista suspensa Sort On. Por fim, defina a ordem de classificação desejada na seção Ordem. Veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Clique em OK e o Range de dados será classificado pelos domínios de e-mail conforme mostrado na imagem abaixo:
3.5 Classificar uma coluna para corresponder a outra
Se você possui duas colunas com dados exatamente iguais ou quase iguais, mas em ordens diferentes, pode ser necessário classificar as duas colunas para que os mesmos valores fiquem alinhados nas mesmas linhas. Nesta seção, apresento dois casos para esse tipo de classificação.
Classificar duas colunas com itens exatamente iguais para alinhar
Por exemplo, tenho duas colunas com os mesmos itens, mas em ordens diferentes. Quero classificar a segunda coluna para corresponder à primeira, conforme mostrado na imagem abaixo.
1. Digite a fórmula abaixo em uma célula em branco ao lado dos dados originais, depois arraste a alça de preenchimento para aplicar a fórmula a todas as células da lista. Isso retornará a posição de cada valor da coluna B em relação à coluna A, veja a imagem:
=MATCH(B2,$A$2:$A$10,0)
2. Em seguida, selecione a coluna B e a nova coluna auxiliar e clique em Data > Sort para abrir a caixa de diálogo Sort. Na caixa de diálogo Sort, realize as seguintes operações:
- Selecione a coluna auxiliar pela qual deseja classificar os dados na seção Coluna;
- Depois, escolha Cell Values na seção Sort On;
- Por fim, selecione a opção Smallest to Largest na seção Ordem.
3. Depois, clique no botão OK. Agora, as duas colunas estarão alinhadas exatamente como mostrado na imagem abaixo. Você pode excluir a coluna de fórmula, se desejar.
Classificar duas colunas com itens não exatamente iguais para alinhar
Às vezes, os itens em duas colunas podem não ser exatamente iguais. Por exemplo, quero classificar os dados da segunda coluna para corresponder aos da primeira, de modo que os mesmos valores fiquem alinhados nas mesmas linhas, conforme mostrado na imagem abaixo.
1. Insira uma nova coluna em branco entre as duas colunas.
2. Digite a fórmula abaixo na célula B2 e arraste a alça de preenchimento para as células desejadas. Agora, você verá que os dados da coluna C foram classificados para corresponder aos da coluna A.
=IF(ISNA(MATCH(A2,$C$2:$C$8,0)),"",INDEX($C$2:$C$8,MATCH(A2,$C$2:$C$8,0)))
3.6 Classificar e extrair valores únicos de uma lista de dados
Se você possui uma lista de valores com alguns duplicados e deseja extrair apenas os valores únicos e classificá-los em ordem alfabética, como mostrado na imagem abaixo, veja algumas fórmulas para lidar com esse tipo de classificação.
1. Digite a fórmula abaixo em uma célula em branco – C2, e pressione Ctrl + Shift + Enter para obter o primeiro resultado, veja a imagem:
=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,"<"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")
Observação: Na fórmula, A2:A12 é a lista de dados da qual deseja extrair valores únicos e C1 é a célula acima da fórmula. Altere conforme necessário.
2. Em seguida, arraste a alça de preenchimento para extrair os valores até aparecerem células em branco. Todos os valores únicos serão extraídos e classificados em ordem crescente, veja a imagem:
1. Se quiser que os valores únicos extraídos sejam classificados em ordem decrescente, aplique a fórmula abaixo: (Lembre-se de pressionar Ctrl + Shift + Enter)
=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,">"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")
2. Se a lista de dados contiver células em branco ou valores numéricos, a fórmula acima não funcionará. Nesse caso, utilize as fórmulas a seguir: (Lembre-se de pressionar Ctrl + Shift + Enter)
=IFERROR(SMALL(IF((COUNTIF($C$1:C1,$A$2:$A$12)=0)*ISNUMBER($A$2:$A$12),$A$2:$A$12,"A"),1),INDEX($A$2:$A$12,MATCH(SMALL(IF(ISTEXT($A$2:$A$12)*(COUNTIF(C1:$C$1,$A$2:$A$12)=0),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),1),IF(ISTEXT($A$2:$A$12),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),0)))
3.7 Classificar várias linhas ou colunas de forma independente de uma só vez
É fácil classificar um Range de dados com base em uma linha ou coluna, mas às vezes pode ser necessário ordenar cada linha ou coluna do Range de forma independente. Veja como realizar essa tarefa no Excel:
Classificar várias linhas individualmente
Suponha que você tenha um Range de dados que precisa ser reorganizado em ordem alfabética em cada linha, como mostrado na imagem abaixo. Veja dois truques rápidos para resolver esse problema.
Classificar várias linhas de uma só vez com fórmula
1. Copie os rótulos das linhas para outro local onde deseja obter o resultado classificado.
2. Em seguida, copie ou digite a fórmula abaixo em uma célula em branco – H2, e pressione Ctrl + Shift + Enter para obter o primeiro resultado, veja a imagem:
=INDEX($B2:$E2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$E2, "<="&$B2:$E2),0))
3. Selecione a célula da fórmula H2 e arraste a alça de preenchimento para a direita para copiar a fórmula para outras células da primeira linha, neste exemplo, até a célula K2, veja a imagem:
4. Continue selecionando as células da fórmula na primeira linha (H2:K2) e arraste a alça de preenchimento para baixo para copiar a fórmula para outras linhas. Agora, os valores de cada linha foram classificados individualmente em ordem crescente.
Classificar várias linhas de uma só vez com código VBA
O código VBA a seguir também pode ajudar a classificar os dados de cada linha em ordem alfabética com facilidade. Siga os passos abaixo:
1. Selecione os dados que deseja classificar em cada linha.
2. Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
3. Depois, clique em Inserir > Módulo e cole o código a seguir na janela do Módulo.
Código VBA: Classificar várias linhas de uma só vez
Sub SortIndividualR()
'Updateby Extendoffice
Dim xRg As Range, yRg As Range
If TypeName(Selection) <> "Range" Then Exit Sub
Set xRg = Selection
If xRg.Count = 1 Then
MsgBox "Select multiple cells!", vbExclamation, "Kutools for Excel"
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Application.ScreenUpdating = False
For Each yRg In xRg.Rows
yRg.Sort Key1:=yRg.Cells(1, 1), _
Order1:=xlAscending, _
Header:=xlNo, _
Orientation:=xlSortRows
Next yRg
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
Application.ScreenUpdating = True
End Sub
4. Em seguida, pressione a tecla F5 para executar o código. Os dados de cada linha serão classificados em ordem crescente imediatamente, veja a imagem:
Classificar várias colunas individualmente
Para classificar os dados de cada coluna individualmente, os dois métodos a seguir podem ajudar.
Classificar várias colunas de uma só vez com fórmula
1. Copie os rótulos das colunas para outro local onde deseja obter o resultado classificado.
2. Em seguida, digite a fórmula abaixo em uma célula em branco – F3, pressione Ctrl + Shift + Enter para obter o primeiro resultado e arraste a alça de preenchimento para baixo para copiar a fórmula para outras linhas, veja a imagem:
=INDEX(A$3:A$6,MATCH(ROWS(A$3:A3),COUNTIF(A$3:A$6,"<="&A$3:A$6),0))
3. Continue selecionando as células da fórmula na primeira linha (F3:F6) e arraste a alça de preenchimento para a direita para copiar a fórmula para outras colunas. Agora, os valores de cada coluna foram classificados individualmente em ordem crescente, conforme mostrado na imagem abaixo:
Classificar várias colunas de uma só vez com código VBA
Para classificar os dados de várias colunas de forma independente, o código VBA a seguir também pode ajudar. Faça assim:
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Depois, clique em Inserir > Módulo e cole o código a seguir na janela do Módulo.
Código VBA: Classificar várias colunas de uma só vez
Sub SortIndividualJR()
'Updateby Extendoffice
Dim xRg As Range
Dim yRg As Range
Dim ws As Worksheet
Set ws = ActiveSheet
On Error Resume Next
Set xRg = Application.InputBox(Prompt:="Range Selection:", _
Title:="Kutools for excel", Type:=8)
Application.ScreenUpdating = False
For Each yRg In xRg
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=yRg, Order:=xlAscending
.SetRange ws.Range(yRg, yRg.End(xlDown))
.Header = xlNo
.MatchCase = False
.Apply
End With
Next yRg
Application.ScreenUpdating = True
End Sub
3. Em seguida, pressione a tecla F5 para executar o código. Uma caixa de prompt será exibida, selecione o Range de dados que deseja classificar, veja a imagem:
4. Depois, clique em OK e cada coluna será classificada individualmente de forma rápida.
3.8 Classificar dados aleatoriamente no Excel
É comum classificar dados em ordem alfabética crescente ou decrescente, mas você já tentou classificar dados de um Range selecionado aleatoriamente? Nesta seção, veja como embaralhar um Range de células em ordem aleatória.
Classificar uma coluna de dados aleatoriamente usando uma coluna auxiliar
Normalmente, você pode usar a função RAND para obter números aleatórios e, em seguida, classificar os dados com base nessa lista aleatória. Faça assim:
1. Digite esta fórmula: =RAND() em uma célula em branco ao lado dos seus dados e arraste a alça de preenchimento para baixo para preencher uma lista de números aleatórios, conforme mostrado na imagem abaixo:
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. A lista de dados será embaralhada imediatamente, veja a imagem:
Classificar células, linhas ou colunas aleatoriamente com um recurso incrível
O Kutools para Excel oferece um recurso poderoso – Ordenar Aleatoriamente, com o qual você pode randomizar dados em um Range de células, em cada coluna/linha de uma seleção ou randomizar linhas ou colunas inteiras de uma só vez.
1. Selecione o Range de dados que deseja classificar aleatoriamente e clique em Kutools Plus > Sort > Ordenar Aleatoriamente. Veja a imagem:
2. Na caixa de diálogo Ordenar, Selecionar ou Aleatorizar, na guia Ordenar, escolha uma das opções abaixo conforme necessário:
- Linhas Inteiras: embaralha todas as linhas do Range selecionado aleatoriamente.
- Colunas Inteiras: embaralha todas as colunas do Range selecionado aleatoriamente.
- Ordenar em Cada Linha: embaralha as células de cada linha individualmente.
- Ordenar em Cada Coluna: embaralha as células de cada coluna individualmente.
- Ordenar Todas as Células: randomiza todas as células do Range selecionado.
3. Depois, clique no botão Ok e os dados serão randomizados imediatamente.
3.9 Classificar uma lista de datas por mês, dia ou mês e dia
Ao classificar datas no Excel, o recurso Sort organiza a lista de datas por ano, mês e dia por padrão. Mas, em alguns casos, pode ser necessário organizar as datas por mês ou dia, ou mês e dia, ignorando o ano. Veja como resolver esse problema no Excel:
Classificar uma lista de datas por mês ou dia usando uma coluna auxiliar
Para classificar as datas apenas por mês ou dia, extraia os números do mês ou do dia das datas e, em seguida, classifique as datas pela coluna extraída.
1. Digite a fórmula abaixo em uma célula em branco ao lado dos seus dados e arraste a alça de preenchimento para baixo para copiar a fórmula para outras células, veja a imagem:
=MONTH(B2) (extrair número do mês)
=DAY(B2) (extrair número do dia)
2. Após retornar os números do mês ou do dia, mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. As datas agora estão classificadas por mês, ignorando anos e dias. Veja a imagem:
Classificar uma lista de datas por mês ou dia em poucos cliques
Se você possui o Kutools para Excel, com o recurso Classificação Avançada, pode classificar uma lista de datas apenas por mês ou dia em poucos cliques.
Kutools para Excel - Repleto de mais de 300 ferramentas essenciais para o Excel. Aproveite recursos de IA gratuitos permanentemente! Faça o download agora!
1. Selecione o Range de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e escolha Mês ou Dia na lista suspensa Sort On. Por fim, defina a ordem de classificação desejada na seção Ordem.
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique no botão OK. Os dados serão classificados com base no mês ou dia especificado, ignorando o ano, veja a imagem:
Classificar uma lista de datas por mês e dia usando uma coluna auxiliar
Se precisar classificar uma lista de datas apenas por mês e dia, sem considerar o ano, a função TEXTO pode ajudar a converter a data em uma sequência de texto no formato desejado e, em seguida, aplicar a classificação conforme necessário.
1. Digite a fórmula abaixo em uma célula em branco ao lado dos seus dados e copie a fórmula até o final dos dados. O mês e o dia serão extraídos como texto, conforme mostrado na imagem abaixo:
=TEXT(B2,"MMDD")
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. Agora, seus dados estão classificados apenas por mês e dia.
3.10 Classificar uma lista de datas por dia da semana
Para classificar uma lista de datas por dia da semana, ou seja, ordenar as datas de Segunda-feira a Domingo ou de Domingo a Sábado, veja dois métodos para concluir essa tarefa no Excel.
Classificar uma lista de datas por dia da semana usando uma coluna auxiliar
Para classificar datas por dia da semana, também será necessário uma coluna auxiliar para retornar um número correspondente ao dia da semana e, em seguida, classificar as datas por essa coluna.
1. Digite ou copie a fórmula abaixo em uma célula em branco e arraste a alça de preenchimento para baixo para copiar a fórmula para outras células, veja a imagem:
=WEEKDAY(B2)(Começa no Domingo (1) até Sábado (7))
=WEEKDAY(B2,2)(Começa na Segunda-feira (1) até Domingo (7))
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort para obter o resultado de classificação desejado, veja a imagem:
Classificar uma lista de datas por dia da semana com uma opção fácil
Com o recurso Classificação Avançada do Kutools para Excel, você pode resolver esse problema rapidamente, sem precisar de fórmula auxiliar.
1. Selecione o Range de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e escolha Dia da semana na lista suspensa Sort On. Por fim, defina a ordem de classificação desejada na seção Ordem.
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique no botão OK. Os dados serão classificados por dia da semana conforme necessário. Veja a imagem:
3.11 Classificar uma lista de datas por trimestre
Esta seção mostra como classificar uma lista de datas por trimestre, ignorando o ano. Dois truques serão apresentados.
Classificar uma lista de datas por trimestre usando uma coluna auxiliar
Assim como nas soluções anteriores, crie uma coluna auxiliar com fórmula para extrair o número do trimestre das datas e, em seguida, classifique as datas por essa nova coluna.
1. Digite ou copie a fórmula abaixo em uma célula em branco e arraste a alça de preenchimento para baixo para copiar a fórmula para outras células, veja a imagem:
=ROUNDUP(MONTH(B2)/3,0)
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. O Range de dados será classificado por trimestre, conforme mostrado na imagem abaixo:
Classificar uma lista de datas por trimestre com um recurso prático
Se você possui o Kutools para Excel instalado, o recurso Classificação Avançada pode ajudar a resolver essa tarefa em poucos cliques.
1. Selecione o Range de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, selecione a coluna que deseja classificar na seção Coluna e escolha Trimestre na lista suspensa Sort On. Por fim, defina a ordem de classificação desejada na seção Ordem.
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Por fim, clique no botão OK e o Range selecionado será classificado por trimestre conforme necessário.
3.12 Classificar dados por nomes de meses ou nomes de dias da semana
Se você possui uma lista de nomes de meses como texto, ao classificá-los, eles serão organizados em ordem alfabética e não em ordem de meses de Janeiro a Dezembro. Se precisar classificar os nomes dos meses de Jan a Dez, uma classificação personalizada no recurso Sort pode ajudar.
1. Selecione o Range de dados que deseja classificar pelos nomes dos meses e clique em Data > Sort para abrir a caixa de diálogo Sort.
2. Na caixa de diálogo Sort, na seção Column, selecione o nome da coluna que contém os nomes dos meses. Na seção Sort on, escolha Cell Values e, por fim, na seção Order, selecione Lista personalizada, veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Em seguida, na caixa de diálogo Lista personalizada exibida, selecione os nomes completos dos meses (Janeiro, Fevereiro, Março, ...) ou abreviados (Jan, Fev, Mar...) conforme os meses estão listados em sua planilha, veja a imagem:
4. Depois, clique em OK > OK para fechar as caixas de diálogo. Agora, seus dados serão classificados pelo nome do mês em ordem cronológica, conforme mostrado na imagem abaixo:
Dicas: Para classificar pelos nomes dos dias da semana, selecione os nomes completos (Domingo, Segunda-feira, Terça-feira, ...) ou abreviados (Dom, Seg, Ter...) na caixa de diálogo Listas Personalizadas conforme necessário.
3.13 Classificar dados por números pares ou ímpares
É fácil classificar números em ordem crescente ou decrescente no Excel, mas você já tentou ordenar os números do ímpar para o par ou do par para o ímpar em uma lista? Veja alguns métodos para realizar essa tarefa.
Classificar dados por números pares ou ímpares usando uma coluna auxiliar
Para classificar a lista de números por pares ou ímpares, crie uma fórmula para identificar os números pares ou ímpares e, em seguida, aplique a função Sort.
1. Ao lado da lista de números, digite esta fórmula =ISODD(A2) em uma célula em branco e arraste para copiar a fórmula para outras células. Agora, você verá TRUEs e FALSEs, onde TRUE indica números ímpares e FALSE indica números pares.
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. Todos os números pares serão classificados juntos, seguidos pelos ímpares, ou vice-versa. Veja a imagem:
Classificar dados por números pares ou ímpares com um recurso útil
Com o recurso Classificação Avançada do Kutools para Excel, você pode rapidamente classificar os números do ímpar para o par ou do par para o ímpar, conforme desejar.
1. Selecione o Range de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, clique na coluna que deseja classificar na seção Coluna e escolha Números pares e ímpares na seção Sort On. Em seguida, especifique a ordem de classificação (A to Z classifica do par para o ímpar e Z to A do ímpar para o par), veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique no botão OK. Você obterá os seguintes resultados:
3.14 Classificar dados por valores absolutos
Se houver números positivos e negativos na coluna, ao classificar, os números serão organizados em ordem crescente ou decrescente por padrão no Excel. Mas, em alguns casos, pode ser necessário ignorar o sinal negativo ao classificar, ou seja, ordenar os números por valores absolutos. Veja como realizar essa tarefa no Excel:
Classificar dados por valores absolutos usando uma coluna auxiliar
Para classificar números por valores absolutos, normalmente, crie uma fórmula para converter todos os valores em absolutos e, em seguida, aplique a função Sort para classificar os números.
1. Em uma célula em branco ao lado, por exemplo, B2, digite esta fórmula =ABS(A2) e arraste a alça de preenchimento para copiar a fórmula para outras células. Agora, todos os valores foram convertidos em valores absolutos:
2. Mantenha as células da fórmula selecionadas e clique em Data > Sort A to Z ou Sort Z to A conforme necessário. Na caixa de aviso Sort Warning, selecione Expand the selection, veja a imagem:
3. Depois, clique no botão Sort. Todos os números serão classificados pelos valores absolutos, conforme mostrado na imagem abaixo:
Classificar dados por valores absolutos com uma opção prática
Se você não quer criar uma coluna auxiliar, recomendo o Kutools para Excel. Com o recurso Classificação Avançada, é possível classificar os números por valores absolutos de forma direta e simples.
Kutools para Excel - Repleto de mais de 300 ferramentas essenciais para o Excel. Aproveite recursos de IA gratuitos permanentemente! Faça o download agora!
1. Selecione o Range de dados que deseja classificar e clique em Kutools Plus > Sort > Classificação Avançada.
2. Na caixa de diálogo Classificação Avançada, clique na coluna que deseja classificar na seção Coluna e escolha Valor absoluto na seção Sort On. Em seguida, especifique a ordem de classificação, veja a imagem:
Dicas: Se seus dados contêm cabeçalhos, certifique-se de marcar a opção Os dados contêm cabeçalhos. Caso contrário, desmarque.
3. Depois, clique em OK. Todos os números serão classificados do menor para o maior ou do maior para o menor, ignorando o sinal negativo.
Classificar dados automaticamente ao inserir ou alterar dados
O recurso de Classificação do Excel não é dinâmico; é necessário reclassificar os dados após cada alteração ou sempre que novos dados forem adicionados. Nesta seção, veja como classificar seus dados automaticamente sempre que um novo valor for inserido no Range de dados.
4.1 Classificar automaticamente valores numéricos em uma coluna com fórmulas
Para classificar uma lista de números em ordem crescente ou decrescente automaticamente, utilize fórmulas baseadas nas funções GRANDE, PEQUENO e LIN.
1. Digite ou copie a fórmula abaixo em uma célula em branco ao lado dos dados de origem e arraste a alça de preenchimento para baixo para aplicar a fórmula às células desejadas. Os números serão organizados do menor para o maior, veja a imagem:
=IFERROR(SMALL($A$2:$A$100,ROWS(B$2:B2)),"")
Observação: Nesta fórmula, A2:A100 é a lista de números que você deseja classificar automaticamente, incluindo algumas células vazias para novas entradas, e B2 é a célula onde você insere a fórmula.
2. Agora, ao alterar os dados de origem ou inserir novos dados, a lista classificada será atualizada automaticamente, conforme mostrado na demonstração abaixo:
Dicas: Para classificar automaticamente os números em ordem decrescente, aplique a fórmula abaixo:
=IFERROR(LARGE($A$2:$A$100,ROWS(B$2:B2)),"")
4.2 Classificar automaticamente valores de texto em uma coluna com fórmulas
Se quiser classificar automaticamente os valores de texto em uma coluna, a fórmula acima não funcionará. Neste caso, outra fórmula pode ajudar. Faça assim:
1. Digite ou copie a fórmula abaixo em uma célula em branco ao lado da coluna de dados e pressione Ctrl + Shift + Enter para obter o primeiro texto. Depois, selecione a célula da fórmula e arraste a alça de preenchimento para baixo para as células que deseja classificar, veja a imagem:
=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")
2. A partir de agora, ao inserir ou alterar o valor original na coluna A, as cadeias de texto na coluna B serão classificadas automaticamente em ordem crescente, veja a demonstração abaixo:
Dicas: Para classificar automaticamente as cadeias de texto em ordem decrescente, aplique a fórmula abaixo (lembre-se de pressionar Ctrl + Shift + Enter):
=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")
4.3 Classificar automaticamente a mistura de valores numéricos e de texto em uma coluna com código VBA
Se houver valores numéricos e de texto em uma coluna, para classificar a lista de dados automaticamente, o código VBA abaixo pode ajudar.
1. Clique com o botão direito na guia da planilha onde deseja classificar os dados automaticamente e selecione Exibir Código no menu de contexto. Na janela Microsoft Visual Basic for Applications exibida, copie e cole o código abaixo na janela do Módulo, veja a imagem:
Código VBA: classificar automaticamente ao inserir ou alterar dados em ordem crescente:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Observação: No código acima, os dados inseridos serão classificados automaticamente na coluna A. A1 é o cabeçalho e A2 é a primeira célula da lista de dados.
2. Depois, salve e feche a janela do código. Agora, ao inserir novos dados ou alterar os dados originais na coluna A, os dados serão classificados automaticamente em ordem crescente. Veja a demonstração abaixo:
Dicas: Se quiser classificar a lista de dados em ordem decrescente, aplique o código abaixo:
Código VBA: classificar automaticamente ao inserir ou alterar dados em ordem decrescente:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Outros casos de classificação
Você pode ter outras demandas de classificação no seu dia a dia. Nesta seção, apresento outros tipos de classificação, como ordenar dados dentro de uma célula, inverter a ordem dos dados em uma coluna ou linha e muito mais.
5.1 Classificar dados dentro de uma célula
Para classificar uma cadeia de texto dentro de uma única célula em ordem alfabética, por exemplo, transformar o texto “HDAW” em “ADHW”; ou classificar várias palavras separadas por vírgula em uma célula, como transformar “word, outlook, excel, access” em “access, excel, outlook, word”. Veja como resolver esse tipo de classificação no Excel.
Classificar valor de texto dentro de uma célula em ordem alfabética
Para classificar o valor de texto dentro de uma célula em ordem alfabética, crie uma Função Definida pelo Usuário. Faça assim:
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o código abaixo na janela do Módulo.
Código VBA: Classificar valor de texto dentro da célula
Function SortCellContents(xRange As Range)
'Updateby Extendoffice
Dim xArr
Dim xF1, xF2 As Integer
Dim xStrValue As String
Dim xStrT As String
If xRange.Count <> 1 Then
Exit Function
End If
xStrValue = xRange.Value
ReDim xArr(1 To Len(xStrValue))
For xF1 = 1 To UBound(xArr)
xArr(xF1) = Mid(xStrValue, xF1, 1)
Next
For xF1 = 1 To UBound(xArr)
For xF2 = xF1 To UBound(xArr)
If Asc(xArr(xF2)) < Asc(xArr(xF1)) Then
xStrT = xArr(xF2)
xArr(xF2) = xArr(xF1)
xArr(xF1) = xStrT
End If
Next xF2
Next xF1
SortCellContents = Join(xArr, "")
End Function
3. Depois, salve e feche este código, volte para a planilha. Em seguida, digite a fórmula =SortCellContents(A2) em uma célula em branco onde deseja o resultado e arraste a alça de preenchimento para baixo para copiar a fórmula para outras células. Todos os valores de texto das células serão classificados em ordem alfabética, veja a imagem:
Classificar cadeias de texto separadas por delimitador dentro de uma célula em ordem alfabética
Se houver várias palavras separadas por delimitadores específicos em uma célula, para classificá-las em ordem alfabética dentro da célula, a Função Definida pelo Usuário abaixo pode ajudar.
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o código abaixo na janela do Módulo.
Código VBA: Classificar cadeias de texto separadas por vírgula dentro da célula
Function SortCellWithSeparator(CellAddress As Range, DelimiterChar As String, IncludeSpaces As Boolean) As String
'Updateby Extendoffice
Dim xRg As Range
Dim xString As String
Dim xF1, xF2 As Integer
Dim xSArr
Dim xStrT As String
Dim xStrValue As String
Set xRg = CellAddress
xStrValue = WorksheetFunction.Substitute(xRg.Value, " ", "")
xSArr = Split(xStrValue, DelimiterChar)
For xF1 = 0 To UBound(xSArr)
For xF2 = xF1 + 1 To UBound(xSArr)
If xSArr(xF2) < xSArr(xF1) Then
xStrT = xSArr(xF2)
xSArr(xF2) = xSArr(xF1)
xSArr(xF1) = xStrT
End If
Next xF2
Next xF1
xStrValue = ""
For xF1 = 0 To UBound(xSArr)
xStrValue = xStrValue & xSArr(xF1) & DelimiterChar
Next xF1
SortCellWithSeparator = xStrValue
SortCellWithSeparator = Left(SortCellWithSeparator, Len(SortCellWithSeparator) - 1)
If IncludeSpaces = True Then SortCellWithSeparator = WorksheetFunction.Substitute(SortCellWithSeparator, ",", ", ")
End Function
3. Depois, salve e feche este código, volte para a planilha, digite a fórmula =SortCellWithSeparator(A2,",",TRUE) em uma célula em branco onde deseja o resultado e arraste a alça de preenchimento para baixo para copiar a fórmula para outras células. Todas as cadeias de texto das células serão classificadas em ordem alfabética, veja a imagem:
Observação: Se suas cadeias de texto forem separadas por outros delimitadores, basta alterar a vírgula na fórmula para o seu delimitador.
5.2 Inverter a ordem dos dados em uma coluna ou linha
Às vezes, pode ser necessário inverter a ordem dos dados de cima para baixo em um Range vertical ou da esquerda para a direita em um Range horizontal. Esta seção apresenta três métodos para resolver essa tarefa no Excel.
Inverter a ordem dos dados em uma coluna ou linha com fórmulas
As fórmulas a seguir ajudam a inverter a ordem dos dados em uma coluna ou linha. Faça assim:
Inverter a ordem dos dados em uma coluna
Digite ou copie a fórmula abaixo em uma célula em branco onde deseja o resultado e arraste a alça de preenchimento para baixo até retornar todos os valores das células em ordem invertida, veja a imagem:
=OFFSET($A$10,-(ROW(A1)-1),0)
Observação: Na fórmula acima, A1 é a primeira célula e A10 é a última célula da coluna.
Inverter a ordem dos dados em uma linha
Aplique a fórmula abaixo para inverter a ordem dos dados horizontalmente em uma linha:
=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)
Observação: Na fórmula acima, A1 é a primeira célula da linha e1:1 é o número da linha onde seus dados estão. Se os dados estiverem na linha10, altere para10:10.
Depois, arraste a alça de preenchimento para a direita até extrair todos os valores e você verá todos os dados invertidos horizontalmente, veja a imagem:
Inverter a ordem dos dados em várias colunas ou linhas com código VBA
As fórmulas acima funcionam bem apenas para uma coluna ou linha. Se houver várias colunas ou linhas para inverter, os códigos VBA a seguir podem ajudar.
Inverter a ordem dos dados em um Range de células verticalmente
1. Primeiro, faça um backup dos dados originais e, em seguida, mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o código abaixo na janela do Módulo.
Código VBA: Inverter um Range de células em ordem reversa verticalmente
Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
k = UBound(Arr, 1)
For i = 1 To UBound(Arr, 1) / 2
xTemp = Arr(i, j)
Arr(i, j) = Arr(k, j)
Arr(k, j) = xTemp
k = k - 1
Next
Next
WorkRng.Formula = Arr
End Sub
3. Em seguida, pressione a tecla F5 para executar o código. Uma caixa de prompt será exibida pedindo para selecionar o Range de dados que deseja inverter verticalmente, veja a imagem:
4. Depois, clique no botão OK. O Range de dados será invertido verticalmente, conforme mostrado nas imagens abaixo:
Inverter a ordem dos dados em um Range de células horizontalmente
Para inverter o Range de dados em ordem horizontal, aplique o código VBA abaixo:
Código VBA: Inverter um Range de células em ordem reversa verticalmente
Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
k = UBound(Arr, 2)
For j = 1 To UBound(Arr, 2) / 2
xTemp = Arr(i, j)
Arr(i, j) = Arr(i, k)
Arr(i, k) = xTemp
k = k - 1
Next
Next
WorkRng.Formula = Arr
End Sub
Após executar este código, os dados das linhas serão invertidos horizontalmente, veja as imagens:
Inverter a ordem dos dados em colunas ou linhas com apenas um clique
Se você possui o Kutools para Excel, com os recursos Inverter Intervalo Verticalmente e Inverter intervalo horizontalmente, é possível inverter o Range de células vertical e horizontalmente com apenas um clique.
Inverter a ordem dos dados em um Range de células verticalmente
1. Selecione o Range de dados que deseja inverter e clique em Kutools > Intervalo > Inverter Intervalo Verticalmente > Todos / Inverter somente conteúdo, veja a imagem:
Dicas: Se escolher a opção Todos, toda a formatação das células será invertida ao mesmo tempo; se escolher Inverter somente conteúdo, apenas os valores das células serão invertidos.
2. Em seguida, o Range de dados será invertido verticalmente imediatamente.
Inverter a ordem dos dados em um Range de células horizontalmente
1. Selecione o Range de dados e clique em Kutools > Intervalo > Inverter intervalo horizontalmente > Todos / Inverter somente conteúdo, veja a imagem:
Dicas: Se escolher a opção Todos, toda a formatação das células será invertida ao mesmo tempo; se escolher Inverter somente conteúdo, apenas os valores das células serão invertidos.
2. Então, todos os valores das células da seleção serão invertidos horizontalmente imediatamente, conforme mostrado nas imagens abaixo:
5.3 Classificar guias de planilha em ordem alfabética ou por cor da guia no Excel
Supondo que haja um grande número de planilhas em sua pasta de trabalho e você precise classificar as guias das planilhas em ordem alfabética ou por cor da guia, o método normal de arrastar e soltar as guias pode ser demorado. Nesta seção, veja alguns truques para organizar as guias em ordem crescente ou decrescente.
Classificar guias de planilha em ordem alfabética com código VBA
O código VBA a seguir pode ajudar a classificar as guias das planilhas em ordem alfabética crescente ou decrescente. Faça assim:
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole a macro abaixo na janela do Módulo.
VBA: Classificar todas as planilhas em ordem alfabética
Sub SortWorkBook()
'Updateby Extendoffice
Dim xResult As VbMsgBoxResult
xTitleId = "KutoolsforExcel"
xResult = MsgBox("Click Yes to sort sheets in ascending order;" & Chr(10) & "Click No will sort in descending order", vbYesNoCancel + vbQuestion + vbDefaultButton1, xTitleId)
For i = 1 To Application.Sheets.Count
For j = 1 To Application.Sheets.Count - 1
If xResult = vbYes Then
If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then
Sheets(j).Move after:=Sheets(j + 1)
End If
ElseIf xResult = vbNo Then
If UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Then
Application.Sheets(j).Move after:=Application.Sheets(j + 1)
End If
End If
Next
Next
End Sub
3. Depois, pressione a tecla F5 para executar a macro. Na caixa de prompt exibida, clique em Sim para classificar todas as planilhas em ordem alfabética crescente; clique em Não para classificar em ordem decrescente, conforme necessário.
Classificar guias de planilha em ordem alfabética / alfanumérica com um recurso poderoso
O Kutools para Excel oferece um recurso poderoso – Ordenar Todas as Planilhas, com o qual você pode classificar as planilhas em ordem alfabética ou alfanumérica, ordenar as planilhas por cor da guia ou inverter as guias conforme necessário.
Kutools para Excel - Repleto de mais de 300 ferramentas essenciais para o Excel. Aproveite recursos de IA gratuitos permanentemente! Faça o download agora!
1. Abra a pasta de trabalho cujas guias deseja classificar e clique em Kutools Plus > Planilha > Ordenar Todas as Planilhas, veja a imagem:
2. Na caixa de diálogo Ordenar Todas as Planilhas, selecione um tipo de classificação desejado no painel direito, como Ordenação Alfabética ou Ordenação Exata. Veja a imagem:
3. Depois, clique no botão Ok. Todas as planilhas serão classificadas conforme o tipo de classificação especificado. Veja as imagens:
Classificar guias de planilha por cor da guia com código VBA
É comum classificar as guias das planilhas em ordem alfabética no Excel, mas você já tentou classificar as guias por cor? O código VBA abaixo pode ajudar a resolver esse problema. Faça assim:
1. Mantenha pressionadas as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole a macro abaixo na janela do Módulo.
VBA: Classificar todas as planilhas por cor da guia
Sub SortWorkBookByColor()
'Updateby20140624
Dim xArray1() As Long
Dim xArray2() As String
Dim n As Integer
Application.ScreenUpdating = False
If Val(Application.Version) >= 10 Then
For i = 1 To Application.ActiveWorkbook.Worksheets.Count
If Application.ActiveWorkbook.Worksheets(i).Visible = -1 Then
n = n + 1
ReDim Preserve xArray1(1 To n)
ReDim Preserve xArray2(1 To n)
xArray1(n) = Application.ActiveWorkbook.Worksheets(i).Tab.Color
xArray2(n) = Application.ActiveWorkbook.Worksheets(i).Name
End If
Next
For i = 1 To n
For j = i To n
If xArray1(j) < xArray1(i) Then
temp = xArray2(i)
xArray2(i) = xArray2(j)
xArray2(j) = temp
temp = xArray1(i)
xArray1(i) = xArray1(j)
xArray1(j) = temp
End If
Next
Next
For i = n To 1 Step -1
Application.ActiveWorkbook.Worksheets(CStr(xArray2(i))).Move after:=Application.ActiveWorkbook.Worksheets(Application.ActiveWorkbook.Worksheets.Count)
Next
End If
Application.ScreenUpdating = True
End Sub
3. Depois, pressione a tecla F5 para executar o código. As planilhas com a mesma cor de guia serão agrupadas. Veja as imagens:
Classificar guias de planilha por cor da guia com um recurso incrível
Com o recurso Ordenar Todas as Planilhas do Kutools para Excel, você também pode classificar rapidamente as guias das planilhas por cor.
1. Clique em Kutools Plus > Planilha > Ordenar Todas as Planilhas para abrir a caixa de diálogo Ordenar Todas as Planilhas. Nela, clique no botão Ordenação por Cor no painel direito, veja a imagem:
2. Depois, clique no botão Ok. As planilhas com a mesma cor de guia serão agrupadas, conforme mostrado nas imagens abaixo:
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!