Note: The other languages of the website are Google-translated. Back to English

Como classificar automaticamente a data quando a data é inserida ou alterada no Excel? 

No Excel, o tipo A função pode ajudá-lo a classificar a data em ordem crescente ou decrescente, conforme necessário. Mas não é dinâmico, se você classificou a data e depois adicionou uma nova data a ela, você precisaria classificá-la novamente. Existem maneiras boas e rápidas de classificar automaticamente a data ao inserir uma nova data a cada vez em uma planilha?

Data de classificação automática quando a data é inserida ou alterada com fórmula

Data de classificação automática quando a data é inserida ou alterada com o código VBA


seta azul bolha direita Data de classificação automática quando a data é inserida ou alterada com fórmula

Por exemplo, a data original na coluna A, a fórmula a seguir pode ajudá-lo a classificar automaticamente a data ou qualquer outra sequência de texto em uma nova coluna auxiliar com base na coluna que você deseja classificar, faça o seguinte:

1. Insira esta fórmula:

=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) em uma célula em branco ao lado de sua coluna de data, C2, por exemplo, e pressione Ctrl + Shift + Enter juntas, e você obterá uma sequência numérica, em seguida, arraste a alça de preenchimento até as células que deseja usar, consulte a captura de tela:

Nota: Na fórmula acima: A2: A15 é o intervalo de datas original que você deseja classificar automaticamente.

doc autosort por data 1

2. Em seguida, formate os números como formato de data clicando em Encontro curto de Geral lista suspensa sob o Início guia, veja a captura de tela:

doc autosort por data 2

3. Em seguida, os números de sequência foram convertidos para o formato de data, e a data original também foi classificada, veja a captura de tela:

doc autosort por data 3

4. A partir de agora, ao inserir uma nova data ou alterar a data na coluna A, a data na coluna C será classificada em ordem crescente automaticamente, consulte a imagem:

doc autosort por data 4


seta azul bolha direita Data de classificação automática quando a data é inserida ou alterada com o código VBA

O código VBA a seguir pode ajudá-lo a classificar automaticamente a data na coluna original ao inserir uma nova data ou alterar a data conforme necessário.

1. Vá para a planilha cuja data você deseja classificar automaticamente ao inserir ou alterar uma data.

2. Clique com o botão direito na guia da planilha e selecione Ver código a partir do menu de contexto, no pop-out Microsoft Visual Basic para Aplicações janela, copie e cole o código a seguir no espaço em branco Módulo janela, veja a imagem:

Código VBA: classificação automática quando a data é inserida ou alterada:

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

doc autosort por data 6

Nota: No código acima, a data inserida será classificada automaticamente na coluna A, você pode alterar A1 e A2 para suas próprias células, conforme necessário.

3. A partir de agora, quando você inserir a data na coluna A, a data será classificada em ordem crescente automaticamente.


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (15)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Você esqueceu de mencionar que a fórmula é array e você precisa ctrl + Shift + enter. Felizmente você tinha uma captura de tela ou sua página seria um desperdício de ciberespaço
Este comentário foi feito pelo moderador no site
E se houver uma data duplicada na lista? E eu quero que os dois números apareçam.
Este comentário foi feito pelo moderador no site
Olá, Ryan,

Para classificar a data com duplicatas, você deve aplicar a seguinte fórmula:

=IFERROR(INDEX($A$2:$A$11,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$11,"<="&$A$2:$A$11),0)),IF(ROWS($A$2:A2)<ROWS($A$2:$A$11),B3,""))

Lembre-se de pressionar as teclas Shift + Ctrl + Enter juntas.

Espero que possa ajudá-lo, obrigado!
Este comentário foi feito pelo moderador no site
Incrível :) Funcionando bem
Este comentário foi feito pelo moderador no site
como posso fazer esse mesmo cálculo de classificação, mas da data mais recente para a mais antiga? Atualmente é do mais antigo para o mais novo. Virar o sinal < não é suficiente e, além disso, não tenho uma compreensão forte o suficiente do que está fazendo. Também acho que o que pode estar acontecendo é que o excel funciona automaticamente de cima para baixo causando dificuldades.
Este comentário foi feito pelo moderador no site
Olá, Bo,

Para classificar automaticamente a data da mais recente para a mais antiga, basta alterar o <= para >= na fórmula acima da seguinte maneira:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
Depois de inserir esta fórmula, lembre-se de pressionar as teclas Ctrl + Shift + Enter juntas para obter o resultado correto.
Por favor tente.
Este comentário foi feito pelo moderador no site
Além das datas duplicadas, existe também uma maneira de incluir várias colunas de dados ao classificar? Eu preciso incluir várias colunas e classificá-las todas junto com as datas de validade.
Este comentário foi feito pelo moderador no site
Fiz um registro de talão de cheques e funciona, mas quero descobrir como fazer minhas entradas entrarem em ordem de data. Qualquer ajuda seria apreciada. Ainda estou aprendendo excel.
Este comentário foi feito pelo moderador no site
Existe uma fórmula específica para manter as células seguindo a data ordenada? Seria bom organizar por data, mas manter toda a linha de informações. Qualquer ajuda seria muito apreciada.
Este comentário foi feito pelo moderador no site
Com o código VBA, copiei e colei o acima, mas desejo que as datas na coluna F sejam os valores pelos quais os dados são classificados. Mudei os valores do intervalo para F2 e F3500 (o tamanho da planilha onde a linha 1 é os títulos), mas ainda classifica pelas datas na coluna A. Alguém pode me ajudar por favor?
Este comentário foi feito pelo moderador no site
Olá, Rosso,
Ao aplicar o código na coluna F, você deve alterar algumas referências conforme sua necessidade conforme código abaixo:
Private Sub Worksheet_Change (ByVal Target As Range)
'Atualizar por Extendoffice 20160606
On Error Resume Next
Se Application.Intersect(Target, Application.Columns(6)) não for nada, então Exit Sub
Se Target.Count > 1, então Exit Sub
Range("F1").Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Esse código VBA é ouro maciço! Obrigada! :-)
Este comentário foi feito pelo moderador no site
Olá, e se eu quiser fazer isso em várias colunas ou até mesmo ter um novo ponto de partida na mesma coluna? Eu apenas faço uma pausa e copio novamente o código VBA nessa mesma janela?
Obrigado.
Este comentário foi feito pelo moderador no site
Olá, esta é uma ótima ferramenta. obrigado. Como posso aplicar isso a várias colunas na mesma guia? Eu poderia aplicá-lo para reiniciar a classificação por data em uma nova célula da mesma coluna? Eu apenas colaria novamente o código VBA na mesma janela?
Obrigado.
Este comentário foi feito pelo moderador no site
Olá Noname9, tudo bem? Alcançar seu objetivo usando código VBA está além do meu alcance. Mas eu sei como usar fórmulas para fazer o truque. Suponha que temos duas colunas de datas, digamos A2:B7. Como classificar essas datas em uma nova coluna? Por favor, faça o seguinte.
Primeiro, precisamos combinar as duas colunas de datas em uma coluna. Copie e cole a fórmula =INDEX($A$2:$B$7,INT((ROWS(D$2:D2)-1)/2)+1,MOD(ROWS(D$2:D2)-1,2)+ 1) na célula D2. E arraste a alça de preenchimento para baixo para combinar todas as datas. Por favor, veja a captura de tela 1.
Então, vamos classificar as datas combinadas. Copie e cole a fórmula =INDEX($D$2:$D$13,MATCH(ROWS($D$2:D2),COUNTIF($D$2:$D$13,"<="&$D$2:$D$13) ,0)) em F2. E arraste a alça de preenchimento para baixo para classificar todas as datas. Por favor, veja a captura de tela 2.
Espero que ajude. Tenha um bom dia. Atenciosamente, Mandy
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL