我如何引用单元格
- 列
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))