专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
完美Excel  ·  VBA:创建可调整大小的用户窗体 ·  昨天  
Excel之家ExcelHome  ·  中秋到了,用Excel做个云月饼 ·  2 天前  
Excel之家ExcelHome  ·  Excel求和方式与工资标准,据说挺准的 ·  4 天前  
Excel之家ExcelHome  ·  填充空白单元格的三种境界 ·  6 天前  
Excel之家ExcelHome  ·  筛选状态下的计算,模式化公式请收好 ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

从多个工作簿中提取最近N天的数据

Excel之家ExcelHome  · 公众号  · Excel  · 2024-09-07 06:45

正文

 本次分享内容的知识点:

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天的数据。

图文作者:梁才