【问题标题】:Excel - How to convert the combination of year, week number and day of week to calendar day?Excel - 如何将年、周数和星期几的组合转换为日历日?
【发布时间】:2021-05-25 02:51:31
【问题描述】:

有 >80000 条记录:

Year Week Weekday
1971 40 1
1998 25 7
2020 34 3

在 Excel 中,我想将数据(年:1971-2020,周:24-44,工作日:1-7)转换为日历日(1-365;每年的总天数从一年到年)。 有什么建议?我找到了相关的帖子,但没有一个能解决我的问题。

【问题讨论】:

  • 您需要解释如何计算第一周的第一天。计数从哪里开始。还有一周的第一天是哪一天。所以基本上2021,1,1是哪一天@
  • 请手动计算出样本日期的预期结果。如果一周的开始日期与 1 月 1 日不同,则有几种不同的方法可以确定一周的开始时间以及任何给定年份的第 1 周。所以你需要告诉我们你想如何处理这个问题。
  • 星期一 = 工作日 1,星期日 = 工作日 7。以您的示例 (2021,1,1) 为例,年 = 2020,周 = 53,工作日 = 5(星期五)。

标签: excel date calendar week-number weekday


【解决方案1】:

撇开一年中第 1 周的区域细节不谈,因为 1 月 1 日与预期的一周开始日期不同,您可以通过将周乘以 7 得出每个日期的运行天数并添加日期。

= (Week * 7 ) + Weekday

从添加或减去一天开始,应用您的星期一与星期日周的区域设置。

然后您甚至可以使用该数字提出日期。

=date(Year,1, (Week * 7 ) + Weekday)

不过,这将使用 1 月的第一天作为第一周。如果这不适合,您需要通过计算出任何一年中第 1 周的含义来进行调整。

编辑:

这是一个包含您的示例数据的表格:

年日的公式是

=[@Week]*7 

调整年份开始的公式是

=WEEKDAY(DATE([@Year],1,1))

最终日期的公式是

=DATE([@Year],1,[@[year day]])-[@[adjust year start]]

您可以看到 2020 年第 53 周第 5 天显示为 2021 年 1 月 1 日,因此匹配。当然,您可以将 adjust year start 计算移到 year day 列中。

【讨论】:

  • 我在您的示例数据中添加了一个公式。这能满足你的需要吗?
  • 如果解决了您的问题,请按照tour 中的说明标记答案。如果没有,请发表评论,以便我跟进。
  • 太棒了!非常感谢这个优雅而简单的解决方案!将在相应年份的第 1 周进行调整。
猜你喜欢
  • 2012-06-15
  • 2012-09-28
  • 1970-01-01
  • 2015-02-08
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
相关资源
最近更新 更多