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

时间:2012-07-03 19:23:16

标签: excel

我是否可以在单元格A2中放置一个函数,它将返回A1中写入的单元格内的任何单元格?

例如,如果A1包含=B35,那么A2将返回单元格B36中包含的值,如果我将A1更改为{{1}那么=C17现在将包含A2中的任何内容?

我一直在尝试使用C18indirect()offset()的组合,但无法弄明白。

3 个答案:

答案 0 :(得分:3)

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

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

enter image description here

答案 1 :(得分:1)

假设您不想做任何比抵消单个单元格引用更复杂的事情,您可以混合使用一点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)=“你好”

答案 2 :(得分:0)

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

E107包含=A100,我希望E108返回单元格B100中包含的值,因此如果我将E107更改为=A101然后E108将包含B101中的任何内容。

我的解决方案:

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

我在FORMULATEXT的单元格中获取公式的文本,并使用CODECHAR应用ASCII操作以加起来A,以便它变为B,然后使用INDIRECT返回值。需要一些字符串操作,LEFTRIGHT函数。