powerquery:import&转换同一工作表上两个表的文件夹中所有Excel文件的数据

时间:2016-05-05 09:30:13

标签: excel import spreadsheet powerquery

我正在尝试使用PowerQuery来加载和转换文件夹中许多文件的每个Object.prototype.hasOwnProperty.call中包含的数据。

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

我在互联网上搜索无济于事。我没有发现PowerQuery导入和转换数据的参考,来自文件夹中的所有Excel文件,其中同一张表中有 TWO 表。

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

注意:范围"Sheet1"已合并。

Image of file input and desired output

感激不尽的任何帮助。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

谢谢。这是我下面的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-using-power-query/

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

Q