假设我在单元格中有一个值$SheetX.A1
(比如说数字 42)。
现在,我在另一个单元格中引用该值,比如$SheetY.M5
通过将其内容设置为=$SheetX.A1
(因此我在工作表 Y 的单元格 M5 中看到“42”)。
如何在另一个单元格中偏移 M5 所针对的引用?例如,我希望 M6 以 M5 所引用的相同位置为目标,偏移 6 行,换句话说,我希望 M6 显示$SheetX.A7
(向下六行$SheetX.A1
) 的值,因为这是 M5 所引用的。类似于“=OFFSET(TARGET(M5),6)”。
- 我知道如果我可以使用 =INDIRECT("addr") 获取一个值
- 我还知道我可以使用 =FORMULA(ref) 获取单元格的公式,因此
=FORMULA(M5)
将返回$SheetX.A1
我想我可以对其进行一些字符串操作以删除等号,然后修改尾随数字 1 以增加它,以某种方式生成我可以传递给的文本“$Sheet.A7” INDIRECT()
?
怎样才能做到这一点?最好的方法是什么?
你可以尝试这个公式:
如果公式返回有效结果,它将偏移
INDIRECT
- 否则它将返回 na (例如,如果公式在 D1 中=$SheetX.A1+1
)您可以使用以下公式:
它首先提取工作表,然后构建对当前行下方 6 行单元格的引用。
我认为
INDEX()
应该SEQUENCE()
可以。尝试-如果您有 Microsoft 365,则可以定义一个命名公式以方便使用:
INDIRECT
通常人们不赞成使用,但在这里使用时要意识到这一点:)indirectOFFSET
ref
可以是单个单元格或数组=indirectOFFSET(M5,6)
或=indirectOFFSET(M5:M10,6,1)
无需格式化,如在名称管理器中输入的: