将 Google 表格公式转换为数组公式

Converting Google Sheets formula to arrayformula

我必须将 google sheet 中的一个简单公式转换为数组公式,但我不知道该怎么做。 样本数据: |磷 |一个 |乙 |丙 | D |乙 | | ------ | - | - | - | - | - | | 字符串 | 0 | 0 | 6 | 0 | 6 | | 字符串 | 10| 11| 16| 0 | 37| | 字符串 | 10| 3 | 6 | 0 | 19| | 字符串 | 5 | 7 | 28| 0 | 40|

公式在 E 列。 目前的公式是: =IF(P2="","",SUM(A2:D2))

我正在尝试像这样进行明显的转换: =ARRAYFORMULA(IF(P2:P="","",SUM((A2:A):(D2:D))))

这只是在 sheet.

的每个单元格中给我 N/A

不确定为什么上面的 table 没有显示为 table。添加屏幕截图以便更好地理解。

更新:Minimal example

假设您的 table 下面没有任何内容,F2 中的以下内容应该会为您提供存在的行数的每行总和。它假定您只会对列 B:E.

求和
=mmult(B2:indirect("E"&counta(A2:A)+1),sequence(counta(A2:A),1,1,0))

N.B - 这不是唯一的方法。

编辑 重新考虑这一点,考虑到对列 P 的依赖性和大量行(再次假设您只想对列 B:E 求和),为什么不使用简单的数组加法呢?

=arrayformula(if(len(P2:P),B2:B+C2:C+D2:D+E2:E,))

这应该为列 P 中的单元格不为空的每一行给出行总和。

这样试试:

=ARRAYFORMULA(IF(A2:A="","",mmult(B2:E*1, transpose(B2:E2 ^ 0))))