使用一个单元格的引用来创建相对引用
Using the reference of one cell to create relative references
我的 P11 单元格引用了另一个单元格:
=J14
而且我想在多个其他单元格中引用 P11 单元格中的引用。例如:
=OFFSET(J14,0,-4)
=OFFSET(J14,0,1)
=OFFSET(J14,0,2)
除了 OFFSET 公式中的 "J14" 理想情况下会有一个引用来获取 P11 单元格的引用,因为我每次都需要更改该引用。因此获取 P11 单元格的引用会很有帮助,这样我只需要更改一个单元格而不是 4 个单元格的引用。
我用谷歌搜索了大约一个小时,但似乎什么也找不到。如果你们能提供帮助那就太好了,因为我找不到解决方案!
您可能希望结合使用 INDIRECT():
在另一个空单元格中,假设 Q11 您将作为字符串 P1
.
放入单元格引用
然后在各个单元格中输入以下公式:
=INDIRECT(Q11)
=OFFSET(INDIRECT(Q11),0,-4)
=OFFSET(INDIRECT(Q11),0,1)
=OFFSET(INDIRECT(Q11),0,2)
关于这两个公式的几句话,它们是 Volatile 函数。这意味着每次 excel 重新计算它们所引用的数据是否发生变化时,它们都会重新计算。所以如果你有一个 sheet 充满它们,它会在计算时间上产生明显的变化。只有四个不会引人注意。
假设在单元格 P11 中您有公式 =J14
,您可以使用 FORMULATEXT
、INDIRECT
和 SUBSTITUTE
的组合来获取单元格引用。我假设单元格 P11 中的公式只会引用其他单个单元格(例如 =J14
或 =M10
或 =N14
)。如果这不是真的,并且公式将比引用一个单元格更复杂,则此方法将不起作用。
首先我们可以使用=FORMULATEXT(P11)
获取单元格P11
中的公式文本。结果是 =J14
。为了成为有效的单元格引用,我们必须删除等号,我们可以通过应用 SUBSTITUTE
函数来完成,如下所示:
=SUBSTITUTE(FORMULATEXT(P11),"=","")
这个结果是 J14
,这是一个有效的引用,我们可以将其传递给 INDIRECT
函数以获得我们最终想要的东西。
最后,在每个偏移公式中,您将拥有:
=OFFSET(INDIRECT(SUBSTITUTE(FORMULATEXT(P11),"=","")),0,-4)
=OFFSET(INDIRECT(SUBSTITUTE(FORMULATEXT(P11),"=","")),0,1)
=OFFSET(INDIRECT(SUBSTITUTE(FORMULATEXT(P11),"=","")),0,2)
这种方法的好处是只需要修改单元格P11
中的公式,不依赖中间单元格。
希望这对您有所帮助,如果没有帮助,您可以澄清您的问题,我可以再试一次。
我的 P11 单元格引用了另一个单元格:
=J14
而且我想在多个其他单元格中引用 P11 单元格中的引用。例如:
=OFFSET(J14,0,-4)
=OFFSET(J14,0,1)
=OFFSET(J14,0,2)
除了 OFFSET 公式中的 "J14" 理想情况下会有一个引用来获取 P11 单元格的引用,因为我每次都需要更改该引用。因此获取 P11 单元格的引用会很有帮助,这样我只需要更改一个单元格而不是 4 个单元格的引用。
我用谷歌搜索了大约一个小时,但似乎什么也找不到。如果你们能提供帮助那就太好了,因为我找不到解决方案!
您可能希望结合使用 INDIRECT():
在另一个空单元格中,假设 Q11 您将作为字符串 P1
.
然后在各个单元格中输入以下公式:
=INDIRECT(Q11)
=OFFSET(INDIRECT(Q11),0,-4)
=OFFSET(INDIRECT(Q11),0,1)
=OFFSET(INDIRECT(Q11),0,2)
关于这两个公式的几句话,它们是 Volatile 函数。这意味着每次 excel 重新计算它们所引用的数据是否发生变化时,它们都会重新计算。所以如果你有一个 sheet 充满它们,它会在计算时间上产生明显的变化。只有四个不会引人注意。
假设在单元格 P11 中您有公式 =J14
,您可以使用 FORMULATEXT
、INDIRECT
和 SUBSTITUTE
的组合来获取单元格引用。我假设单元格 P11 中的公式只会引用其他单个单元格(例如 =J14
或 =M10
或 =N14
)。如果这不是真的,并且公式将比引用一个单元格更复杂,则此方法将不起作用。
首先我们可以使用=FORMULATEXT(P11)
获取单元格P11
中的公式文本。结果是 =J14
。为了成为有效的单元格引用,我们必须删除等号,我们可以通过应用 SUBSTITUTE
函数来完成,如下所示:
=SUBSTITUTE(FORMULATEXT(P11),"=","")
这个结果是 J14
,这是一个有效的引用,我们可以将其传递给 INDIRECT
函数以获得我们最终想要的东西。
最后,在每个偏移公式中,您将拥有:
=OFFSET(INDIRECT(SUBSTITUTE(FORMULATEXT(P11),"=","")),0,-4)
=OFFSET(INDIRECT(SUBSTITUTE(FORMULATEXT(P11),"=","")),0,1)
=OFFSET(INDIRECT(SUBSTITUTE(FORMULATEXT(P11),"=","")),0,2)
这种方法的好处是只需要修改单元格P11
中的公式,不依赖中间单元格。
希望这对您有所帮助,如果没有帮助,您可以澄清您的问题,我可以再试一次。