使用 ArrayFormula 计算多列并输出每行的总和

Using ArrayFormula to countif multiple columns and output the sum on each row

我使用跨多列的 COUNTIF 和 VLOOKUP 创建了一个密集公式,目前我已将其设置为必须 copy/paste 每个公式。但我真的很想能够使用 arrayformula 为下面的每一列编写一次公式,并让它呈现至少 1000 行。写这个有技巧吗?

第 1 栏

=COUNTIF(VLOOKUP(F3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(G3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(H3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(I3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(J3,WarLinesValuesTypes,2,FALSE),"*Defense*")

第 2 栏

=COUNTIF(VLOOKUP(F3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(G3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(H3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(I3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(J3,WarLinesValuesTypes,2,FALSE),"*Offense*")

我还看到了 Whosebug post 此处 (), and tried to emulate it, but I am not getting it right. My sheet (https://docs.google.com/spreadsheets/d/1JR_eYvmf6YgW0CfzHrSR6dxF8RmyWhSKhqSpRnnbipk/edit?usp=sharing) 显示了复杂的公式对两列都正确工作,以及我尝试使用数组公式对其中 1 列的失败尝试, mmult,然后签名。

尝试:

=ARRAYFORMULA(MMULT(IF(REGEXMATCH(IFNA(VLOOKUP(
 INDIRECT("F2:J"&COUNTA(B2:B)+1), 'Flattened Standard War Lines'!A:B, 2, 0)), 
 ".*Offense.*"), 1, 0), TRANSPOSE(COLUMN(F:J))^0))