强大的查询-根据日期编号和时间列创建日期

时间:2018-12-12 13:54:49

标签: excel powerquery

在Excel的powerquery编辑器中,我有两列。一个是天数(1到365),另一个是时间。我想将两列合并为datetime列。第1天将与2000年1月1日相对应。我该怎么办?

例如:

  • 第1列:365,
  • 第2列:02:00:00
  • 转换第3列:2000年12月31日02:00:00。

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用它来添加一列,其中包含相对日期和时间值:

= Table.AddColumn(#"Changed Type", "DateTime", each DateTime.FromText(Date.ToText(Date.AddDays(#date(1999,12,31),[#".1"])) & " " & Time.ToText([#".2"], "hh:mm:ss")), type datetime)

不过,请检查您的逻辑以了解第0天的日期-如果第1天是2000年1月1日,则是第365天<> 31/12/2000 ...

答案 1 :(得分:0)

Excel日期基于浮点值建立,其中整数是自1900-01-01起经过的天数,而小数是一天中的时间。

请牢记2000-01-01是36526

使用公式:

=36526+A1+B1

您获得datetime值,然后只需设置首选的单元格格式

enter image description here

有了这个公式,365 + 02:00:00就会变成您所期望的。
但是1不能是2000-01-01,则必须是2000-01-02。或者,您需要指定要删除一天的日期,因为数学没有加起来。