【发布时间】:2011-08-02 00:11:40
【问题描述】:
如何创建在删除行时不会失效的公式。
例如在单元格 F12 中我有公式:=F11+D12-E12
这基本上是说从上面的单元格中取值,然后将单元格 2 的值添加到左侧并直接减去左侧单元格中的值。
但是,因为我使用的是实际的单元格地址,所以一旦我删除了一行,下面的所有行都会变得无效。
我如何通过相对位置来表达公式(即=“1上面”+“2向左”-“1向左”)
谢谢。
【问题讨论】:
如何创建在删除行时不会失效的公式。
例如在单元格 F12 中我有公式:=F11+D12-E12
这基本上是说从上面的单元格中取值,然后将单元格 2 的值添加到左侧并直接减去左侧单元格中的值。
但是,因为我使用的是实际的单元格地址,所以一旦我删除了一行,下面的所有行都会变得无效。
我如何通过相对位置来表达公式(即=“1上面”+“2向左”-“1向左”)
谢谢。
【问题讨论】:
=OFFSET(F12;-1;0) 用于上述)【讨论】:
你可以使用任何一个
=OFFSET(F12,-1,0)+OFFSET(F12,0,-2)-OFFSET(F12,0,-1),或=INDIRECT("F11",true)+INDIRECT("D12",true)-INDIRECT("E12",true)=INDIRECT("R11C6",false)+INDIRECT("R12C4",false)-INDIRECT("R12C5",false)=INDIRECT("R[-1]",false)+INDIRECT("C[-2]",false)-INDIRECT("C[-1]",false)这两个函数还允许指定范围,只需使用您个人喜好的任何内容(请参阅 Excel 帮助)...
【讨论】:
INDIRECT函数的第一个参数构建字符串,您还可以通过各种方式使用ADDRESS函数... :]
indirect:如果offset(this,-1,0)是你的目标,你可以使用indirect("R[-1]",false),或者如果你真的需要offset,那么我建议使用offset(indirect("RC",false),-1,0)。
this 语法起作用?我在 Excel 中输入 =OFFSET(this,-1,0) 并抱怨它。偏移会很好,但是当我不知道单元格的地址时,我需要它来偏移单元格。
indirect("RC",false) 替换this 不行吗?看我之前的评论…
在字里行间...您的实际问题是从加减列创建运行总计吗?
您可以对以绝对引用开头并以相对引用结尾的每一列进行求和
假设第 11 行是您的第一行,请将 =SUM(D$11:D12)-SUM(E$11:E12) 输入 F12。
当您向下复制此单元格时,绝对引用保持不变,而相对引用会自动更新以扩展范围。您甚至可以将公式复制到一行,它也可以在第一行使用。
删除和插入行不会破坏公式,但 SUM() 中会包含任何额外的单元格。
【讨论】: