You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Power Query将Excel中dd:hh:mm:ss格式文本转为分钟数

Power Query 将dd:hh:mm:ss文本转换为总分钟数

方法一:拆分列直接计算

适合快速处理单字段或少量字段:

  • 把数据导入Power Query:选中数据区域,点击「数据」选项卡→「自表格/区域」(勾选「我的表格有标题」)
  • 拆分目标列:选中要转换的文本列,点击「转换」→「拆分列」→「按分隔符」,分隔符选「冒号」,拆分方式选「拆分为列」,「拆分到」选「最多次数」,生成4列分别对应天、时、分、秒
  • 转换数据类型:选中这4列,点击「转换」→「数据类型」→「整数」
  • 添加自定义列:点击「添加列」→「自定义列」,输入公式(替换成实际拆分后的列名):
    [列名_天]*1440 + [列名_时]*60 + [列名_分]
    
  • 清理冗余:删除拆分出来的4列,保留新生成的总分钟数列即可

方法二:自定义函数批量处理

适合大量字段重复转换的场景:

  1. 创建自定义函数:
    • 点击「主页」→「新建源」→「空白查询」,右键重命名为ConvertToTotalMinutes
    • 在公式栏粘贴以下代码:
      (text as text) as number =>
      let
          SplitParts = Text.Split(text, ":"),
          Days = Number.From(SplitParts{0}),
          Hours = Number.From(SplitParts{1}),
          Minutes = Number.From(SplitParts{2}),
          TotalMinutes = Days*1440 + Hours*60 + Minutes
      in
          TotalMinutes
      
  2. 批量转换字段:
    • 回到你的数据查询,选中需要转换的列(可按住Ctrl多选),点击「转换」→「调用自定义函数」
    • 在弹出的窗口中,函数名选择ConvertToTotalMinutes,「参数」选择当前列,确定后自动生成总分钟数列

为什么Duration函数会报错?

Power Query的Duration.FromText只支持hh:mm:ss或d.hh:mm:ss(天和小时用点分隔)的格式,你的数据是dd:hh:mm:ss(全冒号分隔),不符合函数的识别规则,所以会报错。

内容的提问来源于stack exchange,提问作者sand_glokta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:52:15