文章背景:公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。因此,不推荐在函数中使用显式单元格引用。通过Indirect函数和Address函数,可以实现单元格的间接引用。
1 Indirect函数
2 Address函数
3 综合应用
返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。如果需要更改公式中对单元格的引用,而不更改公式本身,请使用函数 INDIRECT。
INDIRECT(ref_text, [a1])
定义为引用的名称
或作为文本字符串对单元格的引用
的单元格的引用。如果ref_text不是有效的单元格引用,则 INDIRECT 返回#REF!错误值。示例:
你可以使用 ADDRESS 函数,根据指定行号和列号获得工作表中的某个单元格的地址。例如,ADDRESS(2,3) 返回 C2。再例如,ADDRESS(77,300)返回 KN77。可以使用其他函数(如 ROW 和 COLUMN 函数)为 ADDRESS 函数提供行号和列号参数。
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
在同一张表内进行计算时,单元格间接引用的优势并不明显;然而,在跨表引用单元格时,采用间接引用,可以避免由于单元格被删除或被粘贴覆盖时引发的#REF! 错误。
参考资料:
[1] 如何更正 #REF! 错误(https://support.microsoft.com/zh-cn/office/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%AD%A3-ref-%E9%94%99%E8%AF%AF-822c8e46-e610-4d02-bf29-ec4b8c5ff4be)
[2] Excel函数技巧之ADDRESS函数使用详解(https://www.officeyun.net/article/Excel01/1075.html)
[3] INDIRECT 函数(https://support.microsoft.com/zh-cn/office/indirect-%E5%87%BD%E6%95%B0-474b3a3a-8a26-4f44-b491-92b6306fa261)
[4] ADDRESS 函数(https://support.microsoft.com/zh-cn/office/address-%E5%87%BD%E6%95%B0-d0c26c0d-3991-446b-8de4-ab46431d4f89)
[5] ADDRESS函数和INDIRECT函数的综合利用(https://kknews.cc/news/q52rmjg.html)