提问者:小点点

使用数组公式对多列进行计数并输出每行的总和


我已经使用COUNTIF和VLOOKUP在多个列中创建了一个密集的公式,目前我已经对其进行了设置,以便我必须复制/粘贴每个公式。但我真的很想能够使用arrayformula为下面的每一列编写一次公式,并让它在至少1000行中呈现。写这个有窍门吗?

第一栏

=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*")

第二栏

=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*")

我还在这里看到了StackOverflow的帖子(在Google表格上使用ArrayPrograma逐行迭代COUNTIF),并试图模拟它,但我没有得到正确的结果。我的工作表(https://docs.google.com/spreadsheets/d/1JR_eYvmf6YgW0CfzHrSR6dxF8RmyWhSKhqSpRnnbipk/edit?usp=sharing)显示了复杂的公式在两列中都正常工作,以及我使用array公式、mmult和符号对其中一列的尝试失败。


共1个答案

匿名用户

尝试:

=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))