合并范围与一些相同数据的列

时间:2018-03-02 17:16:10

标签: excel-vba powerquery excel-2016 vba excel

我一直在尝试塑造这些数据,如下图所示。输入是三个范围Range("B5:E11")Range("G5:J11")Range("L5:O11")以及所需的输出Range("B16:I26")

我基本上选择在三个.find循环内使用VBA和for方法执行此操作,每个循环每次都运行B, G, L列。它有点复杂,因为,让我们说你在B列,一旦你搜索其他name中的G, L,那么你还必须搜索{ {1}},等等。所以,我遇到了让我陷入困境的错误。

如果有人能分享处理这个问题的方法,我真的很感激。 我也知道Power Query足以满足这类工作,但是不管怎样我都可以解决这个问题。

Merge Ranges with some Columns of same data

我将文件粘贴到此处,以防有人有兴趣查看它。

https://www.dropbox.com/s/x6otpg1h74jewwe/Book1.xlsx?dl=0

谢谢大家。

1 个答案:

答案 0 :(得分:0)

使用Power Query,我会从每个Month表的Query开始,为每个Query添加一个月的列,例如月="四月",月号= 4.

然后我会创建一个"输出"查询将使用一系列附加步骤来添加每个月查询中的数据。

这将提供一个整洁的数据"包含本月列的表,我将发送到Excel数据模型(Power Pivot)。在Power Pivot中,我将按月排序到月份编号。

最后,我会在数据模型上创建一个数据透视表来实现所需的输出,将Month字段放在Columns中(每月生成一列)。