使用水平范围作为参数的COUNTIF在列中扩展ARRAYFORMULA

问题描述 投票:0回答:2

我有一张工作表,我希望根据6个条件(在B列至B列中的任何一个)对值为真还是假来将一列(列A)中列出的值除以1-6的值在给定的行中。

Example screenshot here

我目前正在每行使用一个单独的公式,计算真实条件的数量,然后将其用作除数。因此,对于第2行,公式为:

=A2/COUNTIF((B2:G2),TRUE)

但是我想知道是否有可能通过可以向下扩展到行的单个数组公式来完成这项工作。类似于:

=ARRAYFORMULA(A2:A27/COUNTIF((B2:G2),TRUE))

但是,在这种情况下,我找不到一种使COUNTIF公式起作用的方法...它总是仅将值用于第一行或整个数组,而不是一次用于每一行。

希望如此。 Here is an example sheet以更好地可视化问题。

感谢任何输入!

google-sheets google-sheets-formula array-formulas
2个回答
0
投票

https://stackoverflow.com/a/21804838/5851272启发

→似乎可行:

=ArrayFormula($A$2:$A$27/countifs(iF(COLUMN($B$2:$G$2),ROW($B$2:$B$27)),ROW($B$2:$B$27),$B$2:$G$27,TRUE))

0
投票

这稍微简单一些,应该也可以。= ARRAYFORMULA(IF(A2:A =“” ,, A2:A / MMULT(N(B2:G),{1; 1; 1; 1; 1; 1; 1})))

如果您感兴趣,这是我不久前制作的一个mmult演示。https://docs.google.com/spreadsheets/d/145JG2rqYMe6HSPnluppc7kIezVyWw6CpmC5GjLgb_yE/edit#gid=0

© www.soinside.com 2019 - 2024. All rights reserved.