使用Google表格上的ArrayFormula逐行迭代COUNTIF

时间:2017-06-22 18:39:34

标签: google-sheets spreadsheet countif array-formulas

我正在尝试迭代一个COUNTIF公式,该公式计算包含大于4的数字的每一行中的单元格数量。我正在尝试使用ArrayFormula执行此操作,但它不起作用。

不幸的是,它计算了在整个范围B2:G39中匹配条件的所有单元格,导致26在列K的每一行中输入而不是逐行计数,即在B2中输入的单元格数> 4:在K2中输入的G2 ,B3中的细胞数> 4; G3中输入的G3

这是公式

=ARRAY_CONSTRAIN(arrayformula( if( row(H:H)=1, "Number of cells >4",COUNTIF(A2:G39,">4"))),39,1)

这是spreadsheet,其中包含样本数据和我的公式

1 个答案:

答案 0 :(得分:0)

Sample File

我发现mmult非常慢,可能会导致文件加载时间过长。我建议使用len + join(带查询)(速度未经测试):

={"RegexReplace-Len..."; ArrayFormula(LEN(REGEXREPLACE(TRANSPOSE(QUERY(TRANSPOSE(FILTER(--(A2:P>5),A2:A<>"")),,100500)),"[ 0]", "")))}

此处还有solution by JPV

=filter(COUNTIF(IF(A2:P>5, ROW(A2:A)), ROW(A2:A)), A2:A<>"")

A2:P更改为您的范围,A2:A更改为没有空白单元格的关键列。