6

Я использую Excel, чтобы вычислить время ряда событий, которые происходят на определенное количество часов, смещенное относительно времени начала. Я хочу, чтобы результаты показывались по местному времени.

Мой часовой пояс будет выключен по летнему времени 1 ноября в 02:00, но результаты не отражают изменения.

Есть ли способ включить местный часовой пояс и летнее время в выражения даты и времени Excel?

1 ответ1

1

Если вы хотите решение, отличное от VBA, вы можете использовать формулу для создания временного смещения в зависимости от того, попадает ли указанная дата в день летнего времени. В Великобритании это более простая проблема для меня, но со стандартом США (второе воскресенье в марте и первое воскресенье в ноябре) это немного сложнее.

Я не знаю, как работают ваши текущие формулы или как часто они работают, но смещение, которое вы можете добавить к ним, будет вычислять что-то вроде этого:

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

В основном, мы проверяем, является ли дата воскресеньем. Если нет, то смещение равно нулю. Если это так, проверьте, является ли это ноябрь и в течение 7 дней после окончания предыдущего месяца, и в этом случае смещение составляет +1. В противном случае проверьте, является ли это март и 7-14 дней с конца предыдущего месяца. Если это так, то смещение равно -1.

При отсутствии дополнительной информации о ваших текущих формулах, вышеупомянутое решение предназначено только для учета целых дней, и кажется, что ваша проблема более специфична по времени. Приведенная выше формула все еще должна сохраняться, но может потребоваться добавить 1/24 здесь или там, чтобы она сработала только в том случае, если вы хотите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .