我是否可以在单元格A2
中放置一个函数,它将返回A1
中写入的单元格内的任何单元格?
例如,如果A1
包含=B35
,那么A2
将返回单元格B36
中包含的值,如果我将A1
更改为{{1}那么=C17
现在将包含A2
中的任何内容?
我一直在尝试使用C18
,indirect()
和offset()
的组合,但无法弄明白。
答案 0 :(得分:3)
我不认为它可以像你想要的那样完成。我最接近的是将“目标”地址放在一个单元格中,例如,在该图片A2中只包含字符串“b3”。然后,您可以指出间接功能。所以D2中的公式,对于B3以下的单元格的值,是:
=OFFSET(INDIRECT(A2),1,0)
答案 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
的单元格中获取公式的文本,并使用CODE
和CHAR
应用ASCII操作以加起来A
,以便它变为B
,然后使用INDIRECT
返回值。需要一些字符串操作,LEFT
和RIGHT
函数。