Como obter o horário de verão em uma fórmula aritmética de data?

6

Estou usando o Excel para calcular os tempos de uma série de eventos que ocorrem em um determinado número de horas de deslocamento a partir de uma hora inicial. Quero que os resultados apareçam no meu horário local.

Meu fuso horário será desativado no horário de verão em 1 de novembro às 02:00, mas os resultados não refletem a alteração.

Existe uma maneira de incorporar o fuso horário local e o horário de verão nas expressões de data e hora do Excel?

    
por DavidF 06.10.2015 / 09:28

1 resposta

1

Se você quiser uma solução que não seja do VBA, poderá usar uma fórmula para criar um desvio de tempo dependendo se a data em questão cair em um dia do horário de verão. No Reino Unido, este é um problema mais simples para mim, mas com o padrão americano (segundo domingo em março e primeiro domingo em novembro) é um pouco mais incômodo.

Eu não sei exatamente como suas fórmulas atuais funcionam ou quão frequentes elas são, mas um deslocamento que você poderia adicionar a elas seria algo assim:

=IF(WEEKDAY(My_Date,3)<>6,0,
  IF(
    AND(
      Month(My_Date)=11,
      My_Date-EOMONTH(My_Date,-1)<=7),
    1,
    IF(
      AND(
        Month(My_Date)=3,
        My_Date-EOMONTH(My_Date,-1)>7,
        My_Date-EOMONTH(My_Date,-1)<=14,
      -1,
      0)
   )
 )

Basicamente, verificamos se a data é um domingo. Caso contrário, o deslocamento é zero. Em caso afirmativo, verifique se é novembro e dentro de 7 dias do final do mês anterior e, nesse caso, o deslocamento é +1. Caso contrário, verifique se é março e 7-14 dias a partir do final do mês anterior. Em caso afirmativo, o deslocamento é -1.

Na ausência de mais informações sobre suas fórmulas atuais, a solução acima é projetada apenas para considerar dias inteiros, e parece que seu problema é mais específico do tempo. A fórmula acima ainda deve ser mantida, mas talvez seja necessário adicionar 1/24 aqui ou ali para que ela seja acionada apenas na instância exata que você deseja.

    
por 29.10.2015 / 12:23