有没有办法让第一行的公式自动填充下面的单元格?

Is there a way to have formula for first row automatically populate the cells below?

如果 $T4:$AE4 范围内或 $AG4:$AR4.[=17 范围内有数字 >0,我将使用此公式在单元格中打印 yes =]

=IF(OR(COUNTIF($T4:$AE4,">0"),COUNTIF($AG4:$AR4,">0")),"yes","")

然后我将公式向下拖动(因为我需要它来计算 1000 行)。 如果下面的行符合条件,有没有办法让第一行的公式自动填充下面的单元格?

我试过 ARRAYFORMULA 但它不起作用..

=IF(OR(ARRAYFORMULA(COUNTIF($T4:$AE,">0")),ARRAYFORMULA(COUNTIF($AG4:$AR,">0"))),"yes","")

试试这个公式:

=ArrayFormula(if(TRANSPOSE(MMULT(COLUMN(T4:AE)^0,TRANSPOSE(if(ISNUMBER(T4:AE),T4:AE,0))))+TRANSPOSE(MMULT(COLUMN(AG4:AR)^0,TRANSPOSE(if(ISNUMBER(AG4:AR),AG4:AR,0))))>0,"yes",""))

说明

mmult 用于求和 $T4:$AE 和 $AG4:$AR

ISNUMBER是为了在mmult函数中只使用数字

把所有非数值的值都转换成数字

COLUMN(AG4:AR)^0 将给出一列(1,1,1,1,1)——这正是我们 mmult 函数所需要的。

使用

Transpose 是因为在 [mmult] 函数中:

the number of columns for matrix1 must equal the number of rows for matrix2

所以我们需要转置部分公式。


顺便说一句,这是这个公式,但经过转换后可以计算单词 "word":

的匹配项
=ArrayFormula(if(TRANSPOSE(MMULT(COLUMN(T4:AE)^0,TRANSPOSE(--(T4:AE="word"))))+TRANSPOSE(MMULT(COLUMN(AG4:AR)^0,TRANSPOSE(--(T4:AE="word"))))>0,"yes",""))

可以看到,公式的原理可以用来匹配count逻辑