gpt4 book ai didi

excel - 你如何强制 Duration.FromText 识别特定的支持格式?

转载 作者:行者123 更新时间:2023-12-04 22:01:34 27 4
gpt4 key购买 nike

问候亲爱的同志们,

我有文本格式的持续时间数据 HHHH:MM:SS .

当我使用 Duration.FromText() 函数时,它会转换 3873:05:433873.05:42:00 ,这是不正确的。

它在 4161:51:05 上返回错误,以及中心段大于 30 的所有值。

根据文档 here [-]hh:mm[:ss]是一个有效的格式选项,但它没有提示如何应用格式掩码以便正确解析文本。

如何让 Duration.FromText() 正确解释 3873:05:43 ?

最佳答案

如果在一行中,您可以这样做:

TransfromDur = Table.TransformColumns(Source, {{"Column1", each #duration(0,Number.From(Text.Split(_,":"){0}),Number.From(Text.Split(_,":"){1}),Number.From(Text.Split(_,":"){2})), type duration}})

你会从 3873:05:43 得到 161.09:05:43

这个想法是通过用“:”符号将文本解析为小时、分钟和秒,然后将结果提供给#duration(days,hours,minutes,seconds)

AFAIK,这个符号 [-]hh:mm[:ss] 在将其转换为持续时间时只允许两位数。

或者您可以通过几个步骤来完成:
let
Source = Excel.CurrentWorkbook(){[Name="dftext"]}[Content],
SplitIt = Table.SplitColumn(Table.TransformColumnTypes(Source, {{"Column1", type text}}),"Column1",Splitter.SplitTextByDelimiter(":"),{"Column1.1", "Column1.2", "Column1.3"}),
ChangeType = Table.TransformColumnTypes(SplitIt,{{"Column1.1", Int64.Type}, {"Column1.2", Int64.Type}, {"Column1.3", Int64.Type}}),
AddDur = Table.AddColumn(ChangeType, "Column1", each #duration(0,[Column1.1],[Column1.2],[Column1.3])),
RemCols = Table.RemoveColumns(AddDur,{"Column1.1", "Column1.2", "Column1.3"})
in
RemCols

关于excel - 你如何强制 Duration.FromText 识别特定的支持格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com