我正在使用 Excel 来计算一系列事件的时间,这些事件发生在从开始时间偏移一定小时数的时间。我希望结果以我的当地时间显示。
我的时区将在 11 月 1 日 02:00 脱离夏令时,但结果并未反映更改。
有没有办法将本地时区和 DST 合并到 Excel 日期时间表达式中?
如果您需要非 VBA 解决方案,可以使用公式根据相关日期是否属于 DST 日来创建时间偏移。在英国,这对我来说是一个更简单的问题,但按照美国标准(三月的第二个星期日和十一月的第一个星期天),这就有点麻烦了。
我不太清楚你当前的公式是如何工作的或者它们的频率有多高,但是你可以添加到它们的偏移量将计算如下:
=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)
)
)
Run Code Online (Sandbox Code Playgroud)
基本上,我们检查日期是否是星期日。如果不是,则偏移量为零。如果是,请检查是否是 11 月且在上个月结束后 7 天内,在这种情况下偏移量为 +1。否则,检查是否是三月以及距上个月月底的 7-14 天。如果是这样,则偏移量为-1。
由于缺乏有关您当前公式的更多信息,上述解决方案仅设计用于考虑全天,而且听起来您的问题更具时间针对性。上面的公式应该仍然成立,但可能需要在这里或那里添加 1/24,以便它只在您想要的确切实例中触发。
| 归档时间: |
|
| 查看次数: |
6359 次 |
| 最近记录: |