使用ArrayFormula在几个不同的(连续的)位置重复相同的公式-对吗?
我想做的是使用OFFSET获取位于相对相对于当前 ArrayFormula单元格的单元格的值。
因此,例如,ArrayFormula中的每个单元格应该能够如下所示在其左侧单元格的值(假设ArrayFormula从A2到A20):
=ArrayFormula(offset($A$2:$A$20, 0,
-1
, 1, 1))
这不起作用-它仅显示ArrayFormula中所有单元格的A2左侧单元格的值。
我该如何进行这项工作?任何形式的基于位置的相对集合都可以,我什至尝试过indirect("R[0]C[-1]", FALSE)
和indirect(address(row(),column()-1))
,但两者的结果相同。
可以在以下位置找到我要达到的目标的示例:https://docs.google.com/spreadsheets/d/1qfGuiTLxPfUCjFh6tVtgofUNYvFm5jpqry--uxHEmaI/edit?usp=sharing
在此示例中,我尝试使用OFFSET来获取3个值的范围,该值从当前单元格的一个向上和左侧的单元格开始,以一个向下,一个左侧的单元格结束。然后,我尝试获取该范围的COUNTA。
第Data
列包含空单元格和非空单元格的混合。列Formula
包含我的ArrayFormula。 Expectation
列包含静态值,这些静态值是左侧列中各个单元格的正确值。
如您所见,Formula
中的所有单元格都输出3
,这是B2的正确值。
(请注意,在本示例中,我在公式的开头添加了if(row(A2:A29),
,以强制ArrayFormula工作)