曾经我给大家讲解过 PQ 中一些小众菜单的功能,那么它们有什么实际用途呢?那么今天就教大家用 Power Query 制作万年历,够实用了吧?
案例:分别创建下图 1 和 2 所示的万年历。
解决方案 1:1. 打开一个空的工作簿 --> 选择菜单栏的“数据”-->“新建查询”-->“从其他源”-->“空白查询”
2. 在 Power Query 的公式栏中输入以下公式:
= List.Dates(#date(2023,1,1),365, #duration(1,0,0,0))
公式表示以 2023 年的第一天为起始值,以步长为 1 创建 365 个顺序序列;
即列出 2023 年的每一天
3. 选择菜单栏的“转换”-->“到表”
4. 在弹出的对话框中点击“确定”。
5. 选择菜单栏的“添加列”-->“日期”-->“月”-->“月”
6. 选中第一列 --> 选择“添加列”-->“日期”-->“周”-->“一个月的某一周”
7. 仍然选中第一列 --> 选择“添加列”-->“日期”-->“天”-->“星期几”
8. 再一次选中第一列 --> 选择“添加列”-->“日期”-->“天”-->“天”
9. 删除第一列。
10. 选中“星期几”列 --> 选择菜单栏的“转换”-->“透视列”
11. 在弹出的对话框的“值列”中选择“天”--> 点开“高级选项”--> 在下拉菜单中选择“不要聚合”--> 点击“确定”
12. 将“星期日”拖动到最后一列。
13. 删除“一个月的某一周”列。
14. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
15. 选择“现有工作表”及所需上传至的位置 --> 点击“加载”
16. 筛选所需的月份,就能得到一个当月的月历。
解决方案 2:1. 重复上述步骤 1 至 9。
2. 跳到上述步骤 14、15,将表格上传到 Excel。
3. 选中表格的任意单元格 --> 选择菜单栏的“插入”-->“数据透视表”
4. 在弹出的对话框中选择“现有工作表”及所需上传至的位置 --> 点击“确定”
5. 按以下方式拖动字段:
筛选:“月份”
行:“一个月的某一周”
列:“星期几”
值:“天”
6. 选中值字段 --> 右键单击 --> 在弹出的菜单中选择“值字段设置”
7. 在弹出的对话框中选择“最大值”--> 点击“确定”
8. 筛选需要显示的月份。
9. 选中数据透视表的任意单元格 --> 选择菜单栏的“设计”-->“总计”-->“对行和列禁用”
10. 拖动值列的顺序,使得星期排序正确。
11. 保持选中数据透视表的任意单元格 --> 右键单击 --> 在弹出的菜单中选择“数据透视表选项”
12. 在弹出的对话框中选择“显示”选项卡 --> 取消勾选“显示展开/折叠按钮”和“显示字段标题和筛选下拉列表”--> 点击“确定”
13. 隐藏 F 列。
14. 将整个数据透视表区域设置为居中对齐。
这是另一种样式的日历。