在具有多个条件的 SUMIF 函数中使用 IF 公式插入范围(使用 arrayformula)

Insert range using IF formula in SUMIF function with multiple criteria (using arrayformula)

我将 arrayformula 与我的 sumif 函数一起使用,它有几个标准和范围可以自动扩展到一组列 (B)。下面的公式非常有效:

=ARRAYFORMULA(SUMIF('DATA'!$N:$N&'DATA'!$U:$U&'DATA'!$V:$V&'DATA'!$BV:$BV,$B:$B&$E&$D&$C,'DATA'!$AG:$AG).

我想让它更动态,并插入一个 IF 语句来根据特定条件实际引用一个范围与另一个范围。例如,

IF($A:$A=XX,'DATA'!$N:$N,'DATA'!$M:$M).

如果我这样做,公式就会中断

=ARRAYFORMULA(SUMIF(IF($A:$A=XX,'DATA'!$N:$N,'DATA'!$M:$M)&'DATA'!$U:$U&'DATA'!$V:$V&'DATA'!$BV:$BV,$B:$B&$E&$D&$C,'DATA'!$AG:$AG).

任何 way/workaround 让它工作?我尝试了多次,阅读了多个论坛但找不到答案。

如果 XX 不是命名范围,它应该用引号引起来

尝试:

=ARRAYFORMULA(SUM(IF(
 IF(A6="XX", 'DATA'!N:N, 'DATA'!M:M)&DATA!U:U&DATA!V:V&DATA!BV:BV=B6:B&E30&D26&C36, 
 DATA!AG:AG, )))

更新:

=ARRAYFORMULA(IFNA(VLOOKUP(B7:B&C7:C, 
 QUERY({DATA!A2:A&DATA!A1, DATA!C2:F; DATA!B2:B&DATA!B1, DATA!C2:F}, 
 "select Col1,sum(Col5) 
  where Col2 = '"&D4&"' 
    and Col4 = '"&D3&"' 
  group by Col1 
  label sum(Col5)''"), 2, 0)))