将 Sumifs 数组公式应用于整列时发出问题

问题描述 投票:0回答:1

我正在尝试计算 2 张纸中 B 列值是否彼此匹配的总和。这是场景:

将 B 列工作表 2 名称与 B 列工作表 1 名称匹配

将工作表 2 的单元格 A2(日期)与工作表 1 的 A 列日期进行匹配

如果两个条件都满足,则将 F 列中 C 列中每个名称的对应值相加。我已经开发了适用于一个单元格的公式:

=SUMIFS('Sheet 1'!F:F, 'Sheet 1'!A2:A, 'Sheet 2'!A2, 'Sheet 1'!B2:B, 'Sheet 2'!B2:B)

我不想将它拖下来数百行,所以我尝试将它包装在 ArrayFormula 中,如下所示:

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B), 
  SUMIFS('Sheet 1'!F:F, 'Sheet 1'!A2:A, 'Sheet 2'!A2, 'Sheet 1'!B2:B, 'Sheet 2'!B2:B), 
  ""))

我尝试使用

SUMPRODUCT
MMULT
VLOOKUP
但无济于事:

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B),
  SUMPRODUCT(('Sheet 1'!B2:B = 'Sheet 2'!B2:B) * ('Sheet 1'!A2:A = 'Sheet 2'!A2) * 'Sheet 1'!F2:F),
  ""))

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B), 
  MMULT((('Sheet 1'!B2:B = 'Sheet 2'!B2:B) * ('Sheet 1'!A2:A = 'Sheet 2'!A2)), 'Sheet 1'!F2:F), 
  ""))

=ARRAYFORMULA(IF(LEN('Sheet 2'!B2:B),
  IFERROR(VLOOKUP('Sheet 2'!B2:B & 'Sheet 2'!A2:A, 
    QUERY({'Sheet 1'!B2:B & 'Sheet 1'!A2, 'Sheet 1'!F2:F}, "SELECT Col2 WHERE Col1 = Col1", 0), 2, FALSE), 
  ""),
  ""))

但这不起作用,对于整个专栏,这里有样本表供审核。任何建议将不胜感激。

excel-formula google-sheets-formula array-formulas
1个回答
0
投票

您可以尝试:

=map(B2:B,lambda(Σ,if(Σ="",,sumifs(Sheet1!F:F,Sheet1!A:A,A2,Sheet1!B:B,Σ))))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.