power query获取两个日期之间的工作日天数
时间: 2023-07-18 16:31:28 浏览: 722
在Power Query中,要获取两个日期之间的工作日天数,可以使用以下步骤:
1. 创建一个名为Holiday的表格,其中包含所有假期的日期。例如,表格中可以有一列名为"Date",包含所有假期的日期。
2. 在Power Query编辑器中,选择要计算工作日天数的表格,右键点击并选择“添加列” -> “自定义列”。
3. 在“自定义列”对话框中,输入以下公式:
```
let
startDate = [StartDate],
endDate = [EndDate],
daysBetween = Duration.Days(endDate - startDate),
weekendDays = List.Count(List.Select(List.Generate(
() => startDate,
each _ <= endDate,
each _ + #duration(1, 0, 0, 0),
each Date.DayOfWeek(_) = 5 or Date.DayOfWeek(_) = 6
), each _ <> null)),
holidays = List.Count(List.Select(Holiday[Date], each _ >= startDate and _ <= endDate))
in
daysBetween - weekendDays - holidays
```
4. 将“StartDate”和“EndDate”替换成要计算的两个日期列的列名。
5. 点击“确定”按钮,新的列将被添加到数据表中。
这样,新的列将包含两个日期之间的工作日天数。该公式计算两个日期之间的总天数,减去周末天数和假期天数后得到工作日天数。需要注意的是,Holiday是第一步中创建的假期表格。
需要注意的是,以上公式仅适用于以周六、周日为周末的情况。如果周末不是这两天,请修改公式中判断周末的代码。
阅读全文