在其他单元格中查找相对于地址的单元格

是否有一个函数,我可以放在单元格A2 ,将返回下面的任何单元格中写入任何单元格A1

所以例如,如果A1包含=B35那么A2将返回单元格B36包含的值,如果我将A1更改为=C17A2现在将包含C18任何内容?

我一直在尝试使用indirect()offset()address() ,但无法弄清楚。

假设你不想做比复制单个单元格引用更复杂的任何东西,你可以混合使用一个小的VBA。

在一个新的模块中:

 Public Function tFormula(ByVal Target As Range) As String tFormula = Mid(Target.FORMULA, 2) End Function 

B1 =“= C1”

C2 =“你好”

A1 =“=偏移(tFormula(B1),1,0)”

偏移(tFormula(B1),1,0)=“你好”

我不认为这可以像你想要的那样完成。 最近的我可以将“目标”地址放在一个单元格中,例如,在这个图片中,A2只包含string“b3”。 那么你可以指出间接的function。 所以在D2中的公式,对于B3以下的单元格的值是:

=OFFSET(INDIRECT(A2),1,0)

在这里输入图像描述

我想我可能已经解决了这个问题。 在Excel 2013中,我的问题与您的问题类似:

E107包含=A100 ,我想要E108返回单元格B100包含的值,所以如果我将E107更改为=A101E108现在将包含B101任何内容。

我的解决scheme

 =INDIRECT(CHAR(CODE(RIGHT(LEFT(FORMULATEXT(E107),2),1))+1)&RIGHT(FORMULATEXT(E107),LEN(FORMULATEXT(E107))-2)) 

我使用FORMULATEXT获取单元格中的公式文本,并使用CODECHAR进行ASCII操作,将它们合计为A ,然后变成B ,然后使用INDIRECT返回值。 一些string操作需要使用LEFTRIGHT函数。