之前教了大家如何将日期转换成星期,有同学问在 Power Query 里面怎么转?
PQ 中也有日期转星期的函数,还不止一个,今天来学习一下。
案例:计算出下图 1 中 C 列的日期是星期几。
效果如下图 2 所示。
解决方案:1. 选中数据表的任意单元格 --> 选择工具栏的“数据”-->“从表格”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已上传至 Power Query。
3. 点击“日期”左侧的格式按钮 --> 在弹出的的菜单中选择“日期”
4. 在弹出的对话框中点击“替换当前转换”按钮。
接下来开启各种星期转换的 M 函数用法。
5. 选择工具栏的“添加列”-->“自定义列”
6. 在弹出的对话框中将列名设置为“星期” --> 输入以下公式 --> 点击“确定”:
Date.DayOfWeek([日期],0)
公式释义:
Date.DayOfWeek 的作用是计算出第一个日期参数的星期数,第二个参数 0 表示将星期一设定为 1
7. 再次选择工具栏的“添加列”-->“自定义列”
8. 将列名设置为“星期” --> 输入以下公式 --> 点击“确定”:
Date.DayOfWeekName([日期],"zh-CN")
公式释义:
Date.DayOfWeekName 函数可以将日期转换成星期,"zh-CN" 表示以中国大陆地区的习惯方式显示;
9. 再次添加自定义列,这次用下面的公式:
Date.ToText([日期],"ddd")
公式释义:
Date.ToText 相当于 Excel 中的 text 函数;text 的第二个参数是 "aaa",在 M 函数里则为 "ddd"
10. 跟 text 函数同理,只要将上述公式的第二个参数多加一位,变成 "dddd",就能显示三位字符的星期数了。
Date.ToText([日期],"dddd")
11. 删除前四列。
12. 选择工具栏的“主页”-->“关闭并上载”-->“关闭并上载至”
13. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上载至的位置 --> 点击“加载”
绿色的表格就是各种方式转换出的星期数。