使用一个单元格的引用来创build相对引用
我的P11单元格引用另一个单元格:
=J14
我想在其他多个单元格中引用P11单元格中的引用。 EX:
=OFFSET(J14,0,-4) =OFFSET(J14,0,1) =OFFSET(J14,0,2)
除了OFFSET公式中的“J14”,理想情况下会有一个引用来抓取P11单元格的引用,因为每次我都需要更改引用。 因此抓住P11单元的引用是很有帮助的,所以我只需要改变一个单元的引用而不是4。
我用了大约一个小时的search,但我似乎无法find任何东西。 如果你们能帮上忙,那就太好了,因为我找不到解决办法!
假设在单元格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
的公式,而不依赖于中间单元格。
我希望这有助于,如果没有,你可以澄清你的问题,我可以再试一次。
你会想要使用的INDIRECT()相结合:
在另一个空单元格中,让我们说Q11,你将把单元格引用作为stringP1
。
然后在他们的各种单元格中的下列公式:
=INDIRECT(Q11) =OFFSET(INDIRECT(Q11),0,-4) =OFFSET(INDIRECT(Q11),0,1) =OFFSET(INDIRECT(Q11),0,2)
关于这两个公式有两个字,它们是挥发性函数。 这意味着他们每次重新计算excel时,都会重新计算它们引用的数据是否更改。 所以,如果你有一张表格,它会在计算时间上做出明显的改变。 只有四个不会引人注目。