【问题标题】:Using relative positions in Excel formulas在 Excel 公式中使用相对位置
【发布时间】:2011-08-02 00:11:40
【问题描述】:

如何创建在删除行时不会失效的公式。

例如在单元格 F12 中我有公式:=F11+D12-E12

这基本上是说从上面的单元格中取值,然后将单元格 2 的值添加到左侧并直接减去左侧单元格中的值。

但是,因为我使用的是实际的单元格地址,所以一旦我删除了一行,下面的所有行都会变得无效。

我如何通过相对位置来表达公式(即=“1上面”+“2向左”-“1向左”)

谢谢。

【问题讨论】:

    标签: excel formula


    【解决方案1】:
    • 您可以切换,例如到 R1C1 参考风格(excel 选项)
    • 使用 OFFSET 函数(例如,=OFFSET(F12;-1;0) 用于上述)

    【讨论】:

    • 您好霍华德,感谢您的帮助。我想要的完整的 OFFSET 公式是 =OFFSET(F12,-1,0)+OFFSET(F12,0,-2)-OFFSET(F12,0,-1)
    【解决方案2】:

    你可以使用任何一个

    • =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函数... :]
    • 对于偏移量,有没有办法从当前单元格偏移?所以像 =OFFSET(this,-1,0) 而不是显式添加 F12?
    • 当然,只要结合indirect:如果offset(this,-1,0)是你的目标,你可以使用indirect("R[-1]",false),或者如果你真的需要offset,那么我建议使用offset(indirect("RC",false),-1,0)
    • @AdamYoungers 如何使this 语法起作用?我在 Excel 中输入 =OFFSET(this,-1,0) 并抱怨它。偏移会很好,但是当我不知道单元格的地址时,我需要它来偏移单元格。
    • indirect("RC",false) 替换this 不行吗?看我之前的评论…
    【解决方案3】:

    在字里行间...您的实际问题是从加减列创建运行总计吗?

    您可以对以绝对引用开头并以相对引用结尾的每一列进行求和

    假设第 11 行是您的第一行,请将 =SUM(D$11:D12)-SUM(E$11:E12) 输入 F12。

    当您向下复制此单元格时,绝对引用保持不变,而相对引用会自动更新以扩展范围。您甚至可以将公式复制到一行,它也可以在第一行使用。

    删除和插入行不会破坏公式,但 SUM() 中会包含任何额外的单元格。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2011-06-01
    相关资源
    最近更新 更多