Excel 带有动态行参数的 OFFSET 函数

Excel OFFSET function with a dynamic row argument

抱歉我是新手。

所以...我有这个 table:

我想收集一些数据到不同的 sheet:

例如,我收集 D14,公式为:=OFFSET(Test_Sheet!$A$18,2,9,1,1)。

问题是:当我将公式拖到第 15 行时,值保持不变,因为参数“行”是静态的。我怎样才能用每行增加 1 个单位的“行”参数来拖动这个公式?预期结果应为 =OFFSET(Test_Sheet!$A$18,3,9,1,1).

谢谢大家

您的解决方案是创建我所谓的“锚细胞”作为参考,并计算您与这些锚点的偏移量。在您的示例中,您的第一个锚点是 Test_Sheet$A18。为了方便起见,我通常会为该单元格创建一个命名范围。

在我这里的示例中,您可以看到单元格 A4 被命名为 DataAnchor

您的下一个锚点是公式 中相对于锚点单元格 的第一个单元格。 (很明显,如果你移动你的相对“常量”周围的东西会改变。所以请注意。)

在这个例子中,我第一个带有公式的单元格是 F8.

要获得锚行和我的公式行之间的相对行偏移量,您可以计算:

ROW()-ROW(DataAnchor)-2

也就是当前行号减去anchor的行号减二

那么F8中的公式复制下来就变成了

=OFFSET(DataAnchor,ROW()-ROW(DataAnchor)-2,2,1,1)