目标是将计算(Y4:Y-(W4:W*V4:V))+S4:S-T4:T)
应用于列的单元格,并保留0
,其中所关注行中的V
单元格为blank
或{{1} }。 注意:计算本身并不重要。
当第一行的0
列为V
或0
时,下面的公式仅将blank
应用于受影响的第一行,但其余列保持空白
但是,如果检查0
单元格的条件返回第一行的V
(表示所关注行中的FALSE
单元格的数量为非零),则整列获取适用于每行的适当计算结果。
V
如何修改公式,以便即使第一行的条件将=ARRAYFORMULA(
IF(
OR(
ISBLANK(INDIRECT("V" & ROW())),
EQ(INDIRECT("V" & ROW()), 0)
),
0,
(Y4:Y-(W4:W*V4:V))+S4:S-T4:T
)
)
单元格评估为V
或0
时,也可以填充列的其余部分?
答案 0 :(得分:1)
您的公式有两个问题:
在内部不能使用OR
之类的聚合函数
arrayformula
。这在这里描述
https://productforums.google.com/forum/#!topic/docs/dl_9H6hFwaE。
可以使用一个逻辑表达式来测试0
或blank
C1=0
或EQ(C1,0)
,如果C1
为
0或空白。 (请注意,这使得很难测试单元格是否
包含0,但不包含空白)。在这里https://support.microsoft.com/en-au/help/214244/xl-how-to-create-a-formula-to-correctly-evaluate-blank-cells
我不知道您为什么使用INDIRECT,但是此公式应根据需要工作:
=ARRAYFORMULA(if( eq(V4:V,0),0, (Y4:Y-(W4:W*V4:V))+S4:S-T4:T))
我们已经删除了逻辑OR(这会杀死arrayformula)。
我们删除了空白和0的冗余测试;