1、基于Power Query强大功能,合并以日期命名的工作簿;
2、自动识别近N天的值(以下简称Ln);
先准备数据,如下图所示:
图片
在一个文件夹中有N个工作簿,每个工作簿里边代表的是当天的销售数据明细。
图片
上图是每个表中的数据列表,包括工号、入职日期,以及对应的销售数据。
我们想将这个文件夹中的所有工作簿数据导入到Power Query中,操作步骤就不再赘述了,效果如下图所示:
图片
这一步记得将工作簿的文件名保留下来,用于基于文件名提取日期中的月和日。
将name命名为【文件名】,效果如下图所示:
图片
在选项卡上依次单击【添加列】→【自定义列】,操作步骤如下图所示:
图片
在弹出的【自定义列】对话框中,【新列名】输入“日期”;
【自定义列公式】输入以下公式:
(左右拖动滚动条,查看完整公式)
#date(2024,Number.From(Text.Start([文件名],2)),Number.From(Text.Middle([文件名],2,2)))如下图所示:
图片
这一步操作的作用是从【文件名】分别提取月份和日,再将月份和日,以及固定的2024年,合并成一个年月日的组合。
执行后得到的效果如下图:
图片
即在Power Query中增加了一个【日期】列,日期的值来自工作簿的名称。
依照此方法,我们添加另一个自定义列,【新列名】输入“判断”,【自定义列公式】输入以下公式:
(左右拖动滚动条,查看完整公式)
Number.From(#date(Date.Year(DateTime.LocalNow()),Date.Month(DateTime.LocalNow()),Date.Day(DateTime.LocalNow()))-[日期]) <4
如下图所示:
图片
单击【确定】按钮后,得到的效果如下图所示:
图片
即在Power Query中增加一个判断是否是最大日期L4的判断。
接下来我们将做好的数据处理,返回到工作表中,如下图所示:
图片
因为我们只要结果,不需要具体的数据明细,所以在这里选择【数据透视表】。
图片
创建【数据透视表】的效果如下图所示:
图片
上图是所有日期的销售情况,且在右侧有一个【判断】的切片器,当选择【判断】切片器上的“TRUE”选项后,得到的效果如下图所示。
图片
在左侧的数据表中,则显示从最后的日期往前推4天的数据。
图文作者:梁才
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。