我正在尝试使用PowerQuery来加载和转换文件夹中许多文件的每个Object.prototype.hasOwnProperty.call
中包含的数据。
我遇到的问题是"Sheet1"
中有两个表,我不知道如何组合这两个表,并保持共享的日期/工作日标题。
我在互联网上搜索无济于事。我没有发现PowerQuery导入和转换数据的参考,来自文件夹中的所有Excel文件,其中同一张表中有 TWO 表。
我包含两个表的图像和所需的输出(前两行用于布局)。
注意:范围"Sheet1"
已合并。
感激不尽的任何帮助。
答案 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