使用外部数据源在excel中使用Sumproduct
我正在尝试使用外部excel文件计算excel中的一些数据。我的公式是: =SUMPRODUCT(-(“[Stock Register.xlsx]股票代码1”!$E$3:$E$500=”发给卫生辛迪加”),“[Stock Register.xlsx]股票代码1”!$C$3:$C$500) 这对我来说很好。但我需要在拖动或粘贴下一行时自动更改工作表(股票代码1)使用外部数据源在excel中使用Sumproduct,excel,excel-formula,Excel,Excel Formula,我正在尝试使用外部excel文件计算excel中的一些数据。我的公式是: =SUMPRODUCT(-(“[Stock Register.xlsx]股票代码1”!$E$3:$E$500=”发给卫生辛迪加”),“[Stock Register.xlsx]股票代码1”!$C$3:$C$500) 这对我来说很好。但我需要在拖动或粘贴下一行时自动更改工作表(股票代码1) 我正在使用它作为使用外部数据源(stockregister.xlsx)的新工作簿。库存登记簿由570张表组成,对于每一张表,我需要使用上
我正在使用它作为使用外部数据源(stockregister.xlsx)的新工作簿。库存登记簿由570张表组成,对于每一张表,我需要使用上述公式在新工作簿的单元格(C1)中显示结果,并将其拖动到单元格(C70)。您可以在
SUMPRODUCT
之前添加两列
第一列(假设在B列中)需要将连接到要链接到的外部电子表格。例如:
=串联(“[Stock Register.xlsx]Stock code”,第(A1)行“!$E$3:$E$500”)
这将为您提供[Stock Register.xlsx]股票代码1$E$3:$E$500
对于$C$3:$C$500
的第二列,同样的内容,您可以获得[Stock Register.xlsx]股票代码1$加元3:$500加元
然后第三列,假设这是在D列中,将是SUMPRODUCT
公式,它与INDIRECT
一起使用。给你:
=SUMPRODUCT(--(间接(B1)=“发放给卫生辛迪加”),间接(C1))
希望这有帮助
还有一件事我注意到,当我把这三者合并成一列时,这个公式是行不通的。有人可能会想出一个更好的方法,但是在结果旁边放一个引用地址可能会有助于您调试。只是一个想法
更新:
好的,我能够重现我下面描述的内容。也许在屏幕截图中更容易显示:
请参见我在Stock Register.xlsx
文件中创建的三张表,Stock code 1
表如下所示,即列C
下的值和列E
下的说明。
和另一个名为Results.xlsx
的电子表格<代码>列B
的公式为=串联(“[Stock Register.xlsx]Stock code”,第(A1)行),“!$E$3:$E$500”)
股票代码2
表如下所示。
Results.xlsx
电子表格中的列C
有一个公式=串联(“[Stock Register.xlsx]Stock code”,第(A1)行),“!$C$3:$C$500”)
库存代码3
表如下所示。
结果中的列D
。xlsx
电子表格的公式为=SUMPRODUCT(--(间接(B1)=“发放给卫生辛迪加”),间接(C1))
请再试一次,让我知道。将更改为什么?您需要以某种方式合并间接名称,但这取决于名称的更改方式。您可能必须使用VBA来实现此目的!;)但是请先读一读!和你的帖子,提供更多关于你试图将公式拖到哪个范围的细节。请帮助…不起作用。请Help@arijitirf,请检查我的最新答案,并让我知道这是否适用于您。首先,我想感谢您为我花时间。仅在父工作簿打开时工作。有没有什么技巧可以让公式在不打开父工作簿的情况下工作。再次感谢。如果您需要使用
INDIRECT
链接到动态关闭的外部文件,简短的回答是“否”。但是你可以在谷歌上搜索INDIRECT.EXT
或Harlan Grove的PULL
函数。否则,您将需要为其编写一些VBA代码(签出以静默方式打开外部电子表格)。