=INDIRECT("'"&$A4&"'!E4")
这应该使用在 A4 中找到名称的工作表的单元格 E4 中的值。实际上,它有效。但是,当我将此公式拖到多个列/行时,它A4
会更新到不同的列,但E4
不会...我想是因为它在一个字符串中。
我怎样才能让它工作,我尝试的一切都给我!REF?
答案1
尝试使用CELL
这样的函数
=INDIRECT("'"&$A4&"'!"&CELL("address",E4))
这会将 E4 转换为文本以用于 INDIRECT 函数,但在您拖动时仍会更新
答案2
嗯,你的评论不是很清楚,所以我想如果我提供一些东西然后你根据你的需要进行调整,会更简单。
我假设您=INDIRECT("'"&$A4&"'!E4")
在 sheetTarget
和 cell中有公式A1
。
=INDIRECT("'"&$A4&"'!E4")
您可以将其更改为:
=INDIRECT("'"&$A4&"'!"&CHAR(96+COLUMN()+4)&ROW()+3)
COLUMN()
返回公式所在的列。此处,由于公式位于单元格 A1 中,因此COLUMN()
返回 1。
ROW()
操作方式相同,但是使用行数,并且这里也返回 1。
CHAR(96+COLUMN()+4)
在这种情况下将返回CHAR(96+1+4)
字母E
。
ROW()+3
将返回 ,1+3
即4
。
将所有内容连接起来将得到 E4。
当您在 B1 中复制/粘贴此公式时,您将得到:
=INDIRECT("'"&$B4&"'!"&CHAR(96+COLUMN()+4)&ROW()+3)
COLUMN()
现在返回 2 因为它在第二列并且CHAR()
将返回F
。
由于行相同,4
所以得到 ,这样引用的单元格就变成F4
。