删除或插入单元格后超链接不变

删除或插入单元格后超链接不变

当我使用超链接功能指向同一工作簿中另一张工作表上的单元格时,超链接不会随着单元格的移动而动态调整。例如,我使用公式=HYPERLINK("#'Calcs. Form'!D12","1-100"),但如果我删除单元格D11并且Calcs. Form我的D12单元格向上移动,我的超链接仍然指向 D12 而不是向上移动到D11

我发现的唯一解决方案是通过定义名称为单元格赋予唯一名称,并将超链接指向该名称。有什么建议吗?我的公式中是否遗漏了某些内容?我没有将其设置D12为绝对值。($D$12

答案1

问题在于“D12”位于字符串中,而不是独立的单元格引用。您可以使用以下方法快速升级它:

=HYPERLINK("#'Calcs. Form'!D"&ROW('Calcs. Form'!D12),"1-100")

ROW()函数仍将把“12”与“#'Calcs. Form'!D”一起传递给正在构建的字符串,但现在它是一个实际的单元格引用,因此,如果您删除 D3,并且所需的单元格变为单元格 D11,则公式中的引用也将更改为 D11,并将ROW()返回“11”而不是“12”,因此超链接将被告知正确的单元格。

您可以在任何需要字符串的函数中使用这种将文本和实际单元格引用相结合的技术。因此,您不必为其提供一个简单的硬编码字符串,而是构建一个具有必须自适应的部分的字符串(调整单元格/行/列删除,如这里),或者使用来自其他单元格的输入来创建动态地址(例如,您可以创建“动态范围”,或者在这种情况下同时创建两者,并且INDIRECT()您可能希望动态构建引用)。另一个用途可能是您有许多相同排列的数据选项卡,可能只是针对不同的月份/年份,并且希望有一个报告表,用户可以在其中输入月份或年份或其他内容,从而动态选择右侧选项卡中的数据,而无需IF()在庞大的公式中嵌套每个选项卡。非常简单的技术,但在无数个地方都很有用。

答案2

在公式中将可能改变的单元格引用作为文本插入的一种方法:

“简短”形式:
="The cell referenced is"&cell(D12;"address")&" and it contains '"&D12&"'"

相同:
=CONCATENATE("The cell referenced is";cell("address"D12);" and it contains '";D12;"'")


未经测试的配方- ) 注意使用;参数分隔符,例如,在英语区域,也可能在其他区域。

相关内容