Excel有始末日期的表,要列出每天的人,用PQ解这难题是降维打击

Excel学习世界 2022-01-13 21:36:36

年关接近,在大家过年过节的时候,还是有很多人坚持在工作岗位上,默默为人民服务,比如医护人员、环卫人员、超市员工等等,向他们致敬。

那么问题来了,过年的加班表,收上来的时候形态各异,最终还是要转换成一个更加便于识别和使用的格式,怎么做?

案例:

下图 1 是春节期间的员工加班表,现在这个版本看起来有点费劲,实际的名单比这要长得多,这样很难看出每天有哪几个人加班。

请重新调整数据表的样式,改成下图 2 这样。

解决方案:

1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”

2. 在弹出的对话框中保留默认设置 --> 点击“确定”

表格已上传至 Power Query。

3. 选中“起始日期”列 --> 选择菜单栏的“转换”-->“日期”-->“仅日期”

4. 选中“终止日期”列 --> 选择菜单栏的“转换”-->“日期”-->“仅日期”

5. 选择菜单栏的“添加列”-->“自定义列”

6. 在弹出的对话框中将列名设置为“日期”,在公式区域输入以下公式 --> 点击“确定”:

each List.Dates([起始日期],Duration.TotalDays([终止日期]-[起始日期])+1,#duration(1,0,0,0))

公式释义:

Duration.TotalDays 用于计算两个日期之间的天数,如果要包括终止那一天,需要 +1;

#duration 的参数表示 (天,时,分,秒),此处的用法表示间隔一天;

List.Date 的参数表示 (起始日期,构建多少个,间隔)

7. 点击“日期”旁边的扩展按钮 --> 选择“扩展到新行”

8. 选中“日期”列 --> 选择菜单栏的“转换”-->“透视列”

9. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

值列:选择“姓名”

点开“高级选项”--> 聚合值函数:选择“不要聚合”

10. 删除前两列

11. 拖动各日期列,调整日期排序顺序。

12. 选择菜单栏的“主页 -->“关闭并上载”-->“关闭并上载至”

13. 在弹出的对话框中选择“现有工作表”及所需上传至的位置 --> 点击“加载”

现在就能一目了然看出每天有哪几个人值班了。

0 阅读:3
Excel学习世界

Excel学习世界

Excel 学习交流