¿Cómo obtener el horario de verano en una fórmula aritmética de fechas?

6

Estoy usando Excel para calcular los tiempos de una serie de eventos que ocurren un cierto número de horas compensadas desde una hora de inicio. Quiero que los resultados se muestren en mi hora local.

Mi zona horaria saldrá del horario de verano el 1 de noviembre a las 02:00, pero los resultados no reflejan el cambio.

¿Hay alguna manera de incorporar la zona horaria local y el horario de verano en las expresiones de fecha y hora de Excel?

DavidF
fuente
Consulte el horario de verano . La búsqueda de "ahorro de luz solar excelente" le ofrece muchas otras posibilidades.
DavidPostill

Respuestas:

1

Si desea una solución que no sea VBA, puede usar una fórmula para crear un desplazamiento de tiempo que dependa de si la fecha en cuestión cae en un día de horario de verano. En el Reino Unido, este es un problema más simple para mí, pero con el estándar estadounidense (segundo domingo de marzo y primer domingo de noviembre) es un poco más complicado.

No sé exactamente cómo funcionan sus fórmulas actuales o cuán frecuentes son, pero un desplazamiento que podría agregarles calcularía algo como esto:

=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)
   )
 )

Básicamente, verificamos si la fecha es un domingo. Si no, el desplazamiento es cero. Si es así, verifique si es noviembre y dentro de los 7 días posteriores al final del mes anterior, y en ese caso el desplazamiento es +1. De lo contrario, verifique si es marzo y entre 7 y 14 días a partir del final del mes anterior. Si es así, el desplazamiento es -1.

En ausencia de más información sobre sus fórmulas actuales, la solución anterior solo está diseñada para considerar días completos, y parece que su problema es más específico para el tiempo. La fórmula anterior aún debería mantenerse, pero podría necesitar 1/24 agregado aquí o allá para que solo se active en la instancia exacta que desea.

Steve Taylor
fuente
Creo que puedo hacer esto, con el uso del ajuste de horas. ¡Gracias!
DavidF