Vba 应用vlookup从不同的电子表格复制和转换值,必要时添加新列

Vba 应用vlookup从不同的电子表格复制和转换值,必要时添加新列,vba,excel,vlookup,transpose,Vba,Excel,Vlookup,Transpose,我有两本工作簿:WB1,它有一个电子表格(Sheet5)和我想提取的C5:D10000范围内的数据。C5中有产品代码,D列中有批号,即每个产品代码的001、002、003等,G列中有订购的产品编号 示例(WB1-表5): 等等 另一方面,我想在WB2中做的是使用宏 .......A...... - B... - C... - D... - E 1 - Code - 001 - 002 - 003 - 004 2 - E1..... - 23.. - 32... - 01

我有两本工作簿:WB1,它有一个电子表格(Sheet5)和我想提取的C5:D10000范围内的数据。C5中有产品代码,D列中有批号,即每个产品代码的001、002、003等,G列中有订购的产品编号

示例(WB1-表5):

等等

另一方面,我想在WB2中做的是使用宏

.......A...... - B... - C... - D... - E    
1 - Code - 001 - 002 - 003 - 004    
2 - E1..... - 23.. - 32... - 01    
3 - E2..... - 32... - 4
但我想不出有什么办法。我想象一个类似的函数,比如VLOOKUP,它会取矩阵中的每个E1和E2 D和G值,然后转置G列并将其粘贴到B2-C2-D2中,但与它们的代码在同一行


任何想法都会有帮助。提前谢谢你,我知道这是一个复杂的问题

根据斯科特·克兰纳对我的评论的更正,你可以使用以下公式来解决这个问题:

=SUMIFS('Sheet5'!$G:$G,'Sheet5'!$C:$C,$A2,'Sheet5'!$D:$D,B$1‌​)

将该公式放入WB2的单元格
B2
,并将其复制到其他单元格。

根据Scott Craner对我的评论的更正,您可以使用以下公式解决此问题:

=SUMIFS('Sheet5'!$G:$G,'Sheet5'!$C:$C,$A2,'Sheet5'!$D:$D,B$1‌​)

将该公式放入WB2的单元格
B2
,并将其复制到其他单元格。

也许您可以将一个公式,如
=SUMIFS('Sheet5'!$C:$C,$A2,'Sheet5'!$D:$D,B$1)
放入单元格B2(在WB2中),然后将其复制到WB2中的其他单元格?除此之外,我所能建议的就是使用VBA,如果您有问题,请发布您有问题的代码,以便我们可以为您提供进一步帮助。@YowE3K我相信您缺少了汇总栏:
=SUMIFS('Sheet5'!$G:$G,'Sheet5'!$C:$C,$A2,'Sheet5'!$D:$D,B$1)
@ScottCraner-谢谢-我昨天玩了太多的
CountIfs
,我的大脑仍然停留在它的参数上@GoZalo -请忽略我的公式,并考虑使用史葛的“嘿,谢谢你这么多”YoWe3K和史葛,这是如此容易,我觉得愚蠢,因为没有想到它。我不知道为什么我不能投票支持你的任何答案,但无论如何,谢谢你不能投票支持我们的“答案”,因为它们只是评论。我现在添加了一个真正的“答案”,您可以“勾选”作为“接受的答案”(如果您愿意,可以投票)。也许您可以将一个公式,例如
=SUMIFS('Sheet5'!$C:$C,$A2,'Sheet5'!$D:$D,B$1)
放入单元格B2(在WB2中),然后复制到WB2中的其他单元格?除此之外,我所能建议的就是使用VBA,如果您有问题,请发布您有问题的代码,以便我们可以为您提供进一步帮助。@YowE3K我相信您缺少了汇总栏:
=SUMIFS('Sheet5'!$G:$G,'Sheet5'!$C:$C,$A2,'Sheet5'!$D:$D,B$1)
@ScottCraner-谢谢-我昨天玩了太多的
CountIfs
,我的大脑仍然停留在它的参数上@GoZalo -请忽略我的公式,并考虑使用史葛的“嘿,谢谢你这么多”YoWe3K和史葛,这是如此容易,我觉得愚蠢,因为没有想到它。我不知道为什么我不能投票支持你的任何答案,但无论如何,谢谢你不能投票支持我们的“答案”,因为它们只是评论。我现在添加了一个真正的“答案”,您可以“勾选”作为“接受的答案”(如果您愿意,请投赞成票)。