Google sheets Google工作表:工作表列表中的匹配值总和

Google sheets Google工作表:工作表列表中的匹配值总和,google-sheets,Google Sheets,我正在准备一份投资跟踪表。对于overview页面,我想查询并合并来自每个account选项卡的数据,但我很难弄清楚如何才能做到这一点 以下是我的测试表链接: 我尝试使用的公式在“概述”选项卡的J列中。此公式适用于Excel,但不适用于Google工作表: =IF(F2<>"",SUMPRODUCT(SUMIF(INDIRECT("'"&Accounts&"'!"&"$N$2:$N$1000

我正在准备一份投资跟踪表。对于overview页面,我想查询并合并来自每个account选项卡的数据,但我很难弄清楚如何才能做到这一点

以下是我的测试表链接:

我尝试使用的公式在“概述”选项卡的J列中。此公式适用于Excel,但不适用于Google工作表:

=IF(F2<>"",SUMPRODUCT(SUMIF(INDIRECT("'"&Accounts&"'!"&"$N$2:$N$1000"),F2,INDIRECT("'"&Accounts&"'!"&"$O$2:$O$1000"))),"")
=IF(F2“”,SUMPRODUCT(SUMIF(间接(“'”和账户&“!”&“$N$2:$N$1000”)、F2,间接(“'”和账户&“!”&“$O$2:$O$1000”)、”
  • Accounts是具有4个account选项卡名称的命名范围
  • 每个帐户选项卡上的N列都有股票名称
  • 每个帐户选项卡上的O列都有共享计数
  • “概述”选项卡上的F列有要匹配的股票名称
如果我在Excel中运行相同的电子表格,则上述公式正确运行,并且从4个帐户中正确添加了份额计数:120/20/50/101

在GoogleSheets中,我知道INDIRECT不支持数组,所以它只显示第一个帐户的份额计数:100/20/0/0

所以我的问题是,是否有人能告诉我如何修改J列中的公式,使其在Google工作表中工作


谢谢。

删除整个J列,并使用以下内容:

=ARRAYFORMULA(IFNA(VLOOKUP(F2:F, QUERY(
 {Account1!N:O; Account2!N:O; Account3!N:O; Account4!N:O}, 
 "select Col1,sum(Col2) 
  where Col1 is not null 
  group by Col1"), 2, 0)))

是否有办法将Account1/Account2/etc的特定用法替换为名为range的帐户?我的目标是在添加/删除帐户时不需要修改工作表的其余部分。@否,因为创建命名范围时,不能将多个范围合并到一个命名范围中。但是,您可以将每个范围包装到iferror中,如:
ifferro(Account1!N:O,{“”,“})
-这样,无论工作表是否存在,公式都可以工作。我还希望名称可以自定义。有没有办法通过A列中的名称引用公式中的表格?i、 e.如果我将Account1选项卡重命名为MyAccount,并将A2更改为MyAccount,您的公式能否以某种方式使用A2?i、 e.不必更改Account1的公式!N:噢,我的帐户!N:噢,那一定是(A2)!N:O@Gary是的,它将是:
间接(A2&“!N:O”)
谢谢,这使它工作了!我希望你不介意,但是你能帮我解决另外一个问题吗?这里的新链接:我尝试扩展相同的公式以适用于其他列,但它声称N列存在循环依赖关系,我不理解这一点,因为引用的唯一数据在其他表中。