繁体   English   中英

powerquery:从同一表中的两个表所在的文件夹中的所有Excel文件导入和转换数据

[英]powerquery: importing & transforming data from all Excel files in a folder where two tables on the same sheet

我正在尝试使用PowerQuery加载和转换文件夹中多个文件的每个"Sheet1"中包含的数据。

我遇到的问题是"Sheet1"中有两个表,我不知道如何合并两个表并保留共享的“日期/工作日”标题。

我没有在互联网上搜索。 我发现在同一工作表中有两个表的文件夹中,没有从PowerExcel导入和转换数据的任何引用。

我包括两个表的图像和所需的输出(布局的前两行)。

注意:范围工作表1 Sheet1!"A2:B2"已合并。

文件输入和所需输出的图像

非常感谢任何帮助。

我将2个表更改为适当的Excel表(例如,选择单元格,Ctrl-T或插入/表)。 这将取消合并您的列标题。

然后,您将在导航器中将这两个表视为条目(当您使用“获取外部数据” /“从文件” /“从Excel”时)。

谢谢。 那是我下面的VBA解决方案的一部分。

最后,我提出了两种解决方案。

解决方案1:VBA脚本:循环浏览文件夹中的Excel文件,并找到相关的表标题。 然后使用当前区域将粘贴复制到添加的表中,例如

''Code to loop files then...

 Set rngAdm = Worksheets("Figures").Range("A:B").Find("Daily Admissions", lookat:=xlPart)

 If Not rngAdm Is Nothing Then

    'Add sheet for creating Admissions table

    Sheets.Add.Name = "Adm"

   'Grab data and paste across

   rngAdm.CurrentRegion.Copy Sheets("Adm").Range("A1")

   'Clear merged cell

   Range("A1:B2").UnMerge

   'Code to transform......

然后,我编写了一些脚本以转换为干净的数据集并制成表。

解决方案2:Powerquery-使用“删除行”>“删除备用行”功能对具有两个查询的文件夹中的文件进行循环,以指定模式以分别提取感兴趣的表,然后转换数据,然后合并两个查询。 它是为开始行和行数指定模式的功能,使我不知道,隐藏在删除行标题的后面。

注意:我使用VBA遍历源文件夹并重命名文件,以便它们以正确的顺序加载。 然后,我使用以下两个出色的帖子来识别和删除重复项:

http://forum.powerpivotpro.com/forums/topic/power-query-remove-duplicates-keep-highest-id/ http://www.excelguru.ca/blog/2015/12/09/identify-duplicates-使用功率查询/

通过对ID进行分组,组合排序[Date] asc,排序[Index] desc并删除重复项[ID],我可以仅保留每个重复项集的最后一个导入行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM