有没有办法让第一行的公式自动填充下面的单元格?
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
逻辑
如果 $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
逻辑