ARRAYFORMULA MMULT TRANSPOSE 给出错误的计算结果

ARRAYFORMULA MMULT TRANSPOSE giving the wrong calculation result

我有以下公式,但我似乎无法找出问题所在,因为它产生了错误的结果。

=IFERROR(ARRAYFORMULA(MMULT(IFERROR($H:$O*1/ISNUMBER($H:$O*1),0), TRANSPOSE(IFERROR(($H:$O ^ 0)/ISNUMBER($H:$O ^ 0),0))) * VLOOKUP($G:$G,LookupSheet!$A:$B,2,FALSE)))

示例 Google Sheet 数据:https://docs.google.com/spreadsheets/d/1YNv2Et8l1SXh_KAQB2TDz4iaIieDqhkzVmYT0oePtb4/edit?usp=sharing

在示例中,ARRAYFORMULA SUMIF 给出了正确的结果,但 ARRAYFORMULA MMULT TRANSPOSE 没有。我无法使用 ARRAYFORMULA SUMIF,因为在 30,000 行(增长)x 22 列的电子表格中性能不佳,它影响了我使用 IMPORTRANGE.

数据的所有其他电子表格

如果有人能对此进行调查,我们将不胜感激。

提前致谢。

使用:

=ARRAYFORMULA(MMULT(IFERROR(INDIRECT("H2:O"&MAX((G2:G<>"")*(ROW(G2:G))))*1, 0), 
 TRANSPOSE(COLUMN(H:O))^0)*
 VLOOKUP(INDIRECT("G2:G"&MAX((G2:G<>"")*(ROW(G2:G)))), LookupSheet!A2:B, 2, 0))