我一直在尝试塑造这些数据,如下图所示。输入是三个范围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
谢谢大家。
答案 0 :(得分:0)
使用Power Query,我会从每个Month表的Query开始,为每个Query添加一个月的列,例如月="四月",月号= 4.
然后我会创建一个"输出"查询将使用一系列附加步骤来添加每个月查询中的数据。
这将提供一个整洁的数据"包含本月列的表,我将发送到Excel数据模型(Power Pivot)。在Power Pivot中,我将按月排序到月份编号。
最后,我会在数据模型上创建一个数据透视表来实现所需的输出,将Month字段放在Columns中(每月生成一列)。