在 Excel 中引用同一张表中上一行的单元格?

在 Excel 中引用同一张表中上一行的单元格?

我如何引用单元格

  • Color
  • 在上一行中,
  • 同一张桌子,

从同一张表的单元格中获取?如果可能的话,不依赖工作表的绝对行/列号。

就像[[Color],-1]某件事...

答案1

如果您想使用结构化参考格式,请尝试

=OFFSET([@Colour],-1,0)

您也可以不使用结构化引用来执行此操作。例如,在表格的第 2 行(第一个数据行)中输入

=D1

... 如果“颜色”在 D 列。(根据您的情况进行调整)。后者在大型数据集中会快得多,因为 Offset() 是不稳定的,并且只要工作簿中的任何单元格发生变化,就会重新计算。这会极大地影响性能。

答案2

我几乎总是在我的表中创建一个名为“I”的单独列作为索引,其编号为 1,2,3,4......然后获取前一个值使用INDEX([Colour],[@I]-1)

您还可以从 0 开始对列进行编号,并相应地调整公式,因为您几乎总是访问前一行。

易失性OFFSET函数导致我的大型工作簿崩溃,因此我建议不惜一切代价避免这种情况。

答案3

我知道这是一篇旧帖子,但就像我现在需要类似的东西一样,我相信这可能会对以后的某人有所帮助。如果您需要对表列进行累计求和,例如:

  • 第 1 列包含“收入”数据(正值和负值)
  • 第 2 列是账户的“余额”

对于每一行,您需要将之前的余额(第 2 列,上一行)和收入(第 1 列,当前行)相加,以计算当前余额。

其中一种方法是使用第 2 列中的这个公式,基于 teylyn 的回答:

=SUM([@Column1];OFFSET([@[Column2]];-1;0))

这将处理第一行发生的一些错误

答案4

我遵循@DasistLars的建议,选择INDEX(而不是OFFSET)。为了在按任何列对表进行排序或过滤时保持一致性,我按如下方式应用INDEX:

INDEX([column1],MATCH([@I]-1,[I],0))

相关内容