Filtrando a coluna DateTime para o Intervalo de Tempo?

3

Eu tenho duas colunas que contêm pares de data / hora como MM/DD/YYYY HH:MM:SS , e eu preciso filtrar ambas as colunas para que apenas os horários entre 15:59:59 e 20:00:00 sejam exibidos, a data não importa. Eu tentei fazer um filtro Maior que de ??/??/???? 15:59:59 com um filtro Less Than de ??/??/???? 20:00:00 , mas isso apenas oculta todos os dados. Quais são os parâmetros de filtro corretos que devo usar para exibir apenas os dados de que preciso?

    
por Matthew 08.07.2013 / 22:04

3 respostas

3

Embora =MOD(A1, 1) obtenha o tempo como um número entre 0,000 e 0,999…, =HOUR(A1) obterá um número inteiro entre 0 e 23. Em seguida, exiba 16 , 17 , 18 e 19 .

A propósito, acontece que =HOUR(A1) funciona em ambos valores de data / hora reais, e também strings que parecem horas (com uma data opcional) .

Editar:

Como sugerido acima, uma maneira de resolver seu problema seria estabelecer uma coluna auxiliar contendo =HOUR(A1) e, em seguida, filtrar essa coluna para exibir linhas contendo 16 , 17 , 18 ou 19 e esconda o resto. Outra seria configurar uma coluna auxiliar com

=IF(AND(HOUR(A1)>=16,HOUR(A1)<20), "good", "bad")

Assim, as linhas em que a hora está no intervalo desejado aparecem como " good " e as outras aparecem como " bad ". Em seguida, filtre para exibir as linhas " good " e oculte as linhas " bad ". (Obviamente, se os usuários são sensíveis sobre a escolha de palavras, você pode alterá-los.) Uma vantagem para isso é que facilita o manuseio de colunas de dados de vários discriminadores com uma única coluna auxiliar. Se eu entendi sua pergunta corretamente, você tem duas colunas de data / hora e deseja ver apenas as linhas em que ambos os valores estão no final da tarde ou início da noite. Então coloque isso

=IF(AND(HOUR(A1)>=16,HOUR(A1)<20,HOUR(B1)>=16,HOUR(B1)<20), "good", "bad")

na sua coluna de ajuda.

Agora, dê o próximo passo:

=IF(AND(HOUR(A1)>=16,HOUR(A1)<20,,maybe other conditions),"", "bad")

Agora, as linhas em que a hora está no intervalo desejado aparecem como em branco e as outras aparecem como " bad ". Em seguida, filtre para exibir as linhas com o espaço em branco na coluna auxiliar e oculte as linhas " bad ". Dessa forma, quando o filtro é ativado, os usuários não verão que a coluna de ajuda tem algo nele.

E, claro, além de ocultar a coluna auxiliar (como kobaltz sugeriu e teylyn explicou), você pode fazer coisas como colocá-la na coluna Z (fora da borda da tela), alterando a cor da fonte para branco e ocultando dados com um formato personalizado.

    
por 09.07.2013 / 02:10
1

Você poderia usar uma fórmula como essa

=RIGHT(A2,LEN(A2)-FIND(":",A2,1)+2)

que levaria

01/31/2013 3:30PM

e retornar

3:30PM

De lá, você pode filtrar e classificar.

    
por 08.07.2013 / 22:23
0

Por favor, verifique

  1. Configurações de data e hora do seu sistema operacional.

  • Seguindo o VBA trabalhou: -

    ActiveSheet.Select
    
    Range("A1").Select
    
    With ActiveSheet
    
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    
    End With
    
    Selection.AutoFilter
    
    ActiveSheet.Range("$A$1:$J$" & LastRow).AutoFilter Field:=1, Operator:= xlFilterValues, Criteria2:=Array(1, Format(#17/04/2004#, "m/d/yyyy"))
    
  • Lembre-se de que o formato de data e hora da planilha do sistema operacional e do Excel deve corresponder.

        
    por 10.03.2018 / 13:01