引用另一个单元格引用的单元格的位置

时间:2015-08-13 19:17:46

标签: excel reference cell offset excel-indirect

我发布这个问题是因为我有一段时间试图自己找到答案。

基本上我有一个单元格引用一个引用另一个单元格的单元格,其中包含一些数据。例如,A3=A2A2=A1以及单元格A1包含文本Hello。因此,单元格A2A3也包含相同的文字。见下图:

enter image description here

但是,让我们说我实际上希望单元格A3显示与A2指向的单元格位置相关的数据(记住A3=A2)。我需要使用OFFSET函数来执行此操作,并且可以认为A3=OFFSET(A2, 0, 1)可能有效(click here to see how OFFSET works)。但是OFFSET本身并不起作用。它会将数据从单元格返回到单元格A2的右侧(如下所示),而不是意识到A2指向A1,然后将数据返回到{{ 1}}。

enter image description here

那么我们如何通过单元格A1间接获取单元格A3=B1

1 个答案:

答案 0 :(得分:0)

我们需要使用一组函数,其中一个是INDIRECTclick here to see how INDIRECT works。因此,为了使用INDIRECT,我们需要在单元格A2中找到的文本。 FORMULATEXT函数(more info)会在单元格=A1中使用时从单元格A2中提取A3

A3=FORMULATEXT(A2),如下所示:

enter image description here

现在我们只需要从文本中删除=,这样我们就可以使用INDIRECT可以使用的实际文本引用。您可以使用RIGHTMID函数(rightmid)结合LEN函数(length)来执行此操作。如果工作表中的行数从单个数字变为两位数,则需要LEN,依此类推。您还需要再次传入FORMULATEXT函数,以便计算文本=A1的长度。如果不这样做,它将计算Hello的长度。您还需要注意LEN()-1是您需要的正确长度,因为您正在从文本中丢弃=

例如:A3=RIGHT(FORMULATEXT(A2),LEN(FORMULATEXT(A2))-1)给我们:

enter image description here

将所有内容放在一起,您可OFFSET A2引用A3 INDIRECT的单元格,如{...}}:

A3=OFFSET(INDIRECT(RIGHT(FORMULATEXT(A2),LEN(FORMULATEXT(A2))-1)),0,1)

enter image description here