Power Query 的日期计算未正确转换为 excel table
Day calculation from PowerQuery not correclty transformed to excel table
我正在使用 PowerQuery 创建特定的日期持续时间列。我有以下 xlsx table:
日期时间1:=A2+B2
DateTIme2=D2+E2
DateDiff=F2-C2
现在我想用 PowerQuery 转换 G 列“DateDiff”。我 select 范围 A 到 G 并单击 Data
=> From Table/Rage
系统询问我数据在哪里,我使用预填充的条目,然后单击“确定”。 PowerQuery 打开:
I select 列 DateDiff 并右键单击并复制该列。此专栏的副本出现,我 select 它。在数据类型(当前显示小数点)上,我 select“持续时间”。值已转换,我可以看到以下内容:
这符合预期。所以首先是天,例如 32 或 1 或 33 天,然后是小时、分钟和秒(秒中有一些 rounding/calculation 差异,但这可以忽略)。
我点击关闭并加载。
将table添加如下:
值已更改。现在 H 列不再显示 32,33 和 1 天。这些值错误地显示为 1.07...、2.08...
我不明白为什么会这样?我怎样才能在这里得到正确的结果?
当我将格式更改为标准时,我再次得到正确的数字。所以数字没有改变。当我尝试应用自定义格式时,例如:T.hh:mm:ss 显示相同的错误数字。导致相同的问题。
这似乎是格式问题。
最有可能的是,您将 col H 格式化为 d.hh:mm:ss
不幸的是,Excel 日期 d
(天) 格式(或您所在地区的任何日期代码)不会显示任何值 > 31
。到那时它会回到 1
获得所需显示的一种方法是将其转换为字符串:
=INT(A1) & "." & TEXT(MOD(A1,1),"hh:mm:ss")
您也可以使用 Power Query 将其转换为字符串
使用此公式添加自定义列:
Text.From([DateDiff])
然后使用 dot
作为分隔符拆分该列,仅使用最右边的分隔符 select。
删除不需要的列。
我正在使用 PowerQuery 创建特定的日期持续时间列。我有以下 xlsx table:
日期时间1:=A2+B2
DateTIme2=D2+E2
DateDiff=F2-C2
现在我想用 PowerQuery 转换 G 列“DateDiff”。我 select 范围 A 到 G 并单击 Data
=> From Table/Rage
系统询问我数据在哪里,我使用预填充的条目,然后单击“确定”。 PowerQuery 打开:
I select 列 DateDiff 并右键单击并复制该列。此专栏的副本出现,我 select 它。在数据类型(当前显示小数点)上,我 select“持续时间”。值已转换,我可以看到以下内容:
这符合预期。所以首先是天,例如 32 或 1 或 33 天,然后是小时、分钟和秒(秒中有一些 rounding/calculation 差异,但这可以忽略)。
我点击关闭并加载。
将table添加如下:
值已更改。现在 H 列不再显示 32,33 和 1 天。这些值错误地显示为 1.07...、2.08...
我不明白为什么会这样?我怎样才能在这里得到正确的结果?
当我将格式更改为标准时,我再次得到正确的数字。所以数字没有改变。当我尝试应用自定义格式时,例如:T.hh:mm:ss 显示相同的错误数字。导致相同的问题。
这似乎是格式问题。
最有可能的是,您将 col H 格式化为 d.hh:mm:ss
不幸的是,Excel 日期 d
(天) 格式(或您所在地区的任何日期代码)不会显示任何值 > 31
。到那时它会回到 1
获得所需显示的一种方法是将其转换为字符串:
=INT(A1) & "." & TEXT(MOD(A1,1),"hh:mm:ss")
您也可以使用 Power Query 将其转换为字符串
使用此公式添加自定义列:
Text.From([DateDiff])
然后使用
dot
作为分隔符拆分该列,仅使用最右边的分隔符 select。删除不需要的列。