如何在Power Query中基于起止日期生成项目每日工时明细表格?
在Power Query中生成项目每日工时明细的步骤
前提准备
先确保表格中Proddate(生产起始日期)和Deliverydate(交付日期)列是日期类型:
- 选中这两列,右键点击→更改类型→日期。
步骤1:添加自定义列生成工作日序列
添加自定义列,生成每个项目时间区间内的所有工作日:
- 点击添加列选项卡→自定义列。
- 在公式编辑器中输入以下代码:
= List.Select( List.Dates([Proddate], Duration.Days([Deliverydate]-[Proddate])+1, #duration(1,0,0,0)), each Date.DayOfWeek(_, Day.Monday) < 5 )
- 代码说明:
List.Dates生成从Proddate到Deliverydate的完整日期序列List.Select筛选出序列中的工作日(周一至周五,以周一为一周起始)
步骤2:展开日期序列到新行
点击自定义列右侧的展开按钮(双向箭头),选择到新行,此时每个工作日会成为单独一行,与对应项目关联。
步骤3:整理最终表格
- 右键点击多余的列(如
Hours prod、Nettoworkdays,可按需保留)→删除。 - 把展开后的日期列重命名为
Workday(或自定义名称)。 - 可选:选中
Time per day列,右键→更改类型→小数位数,设置为2位优化显示。
验证结果
以项目1为例:
- 日期区间
01/01/2023到25/01/2023的工作日共18天,展开后生成18行记录,每行的Time per day对应1.39。
内容的提问来源于stack exchange,提问作者Luuk_148
相关产品推荐
相关产品推荐

