前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel: 引用数据源发生移动时,如何不改变引用的单元格地址

Excel: 引用数据源发生移动时,如何不改变引用的单元格地址

作者头像
Exploring
发布2022-09-20 14:25:05
3.7K0
发布2022-09-20 14:25:05
举报
文章被收录于专栏:数据处理与编程实践

文章背景:在Excel中,公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。针对这种情况,之前采取过一些措施,比如禁用自动填充功能等(参见文末的延伸阅读)。但这些措施治标不治本,虽然可以防止数据源发生移动,但也带来了不友好的体验(比如无法使用自动填充功能)。

在编写单元格公式时,不推荐在函数中使用显式单元格的引用(如:"=A2","=A3"等)。当引用的数据源发生移动时,为了确保引用的单元格地址不变,可以配合使用indirect函数和address函数。

http://mpvideo.qpic.cn/0b78l4aaeaaalaacjejl5vqvax6dajpqaaqa.f10003.mp4?dis_k=21ae4648e00b058d350c24234e1971f2&dis_t=1663655061&vid=wxv_2023759469645561857&format_id=10003&support_redirect=0&mmversion=false

函数说明:

(1)INDIRECT 函数

返回由文本字符串指定的引用。

语法:INDIRECT(ref_text, [a1])

(2)ADDRESS 函数

可以使用 ADDRESS 函数,根据指定行号和列号获得工作表中的某个单元格的地址。例如,ADDRESS(2,3) 返回 C2。再例如,ADDRESS(77,300)返回 KN77。可以使用其他函数(如 ROW 和 COLUMN 函数)为 ADDRESS 函数提供行号和列号参数。

语法:ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

(3)ROW 函数

返回引用的行号。

语法:ROW([reference])

  • Reference 可选。需要得到其行号的单元格或单元格区域。
  • 如果省略 reference,则假定是对函数 ROW 所在单元格的引用。

参考资料:

[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] 引用数据源发生移动时,如何使引用的单元格不变(https://club.excelhome.net/thread-1096201-1-1.html?_dsign=f9b3d4cb

[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] ROW 函数(https://support.microsoft.com/zh-cn/office/row-%E5%87%BD%E6%95%B0-3a63b74a-c4d0-4093-b49a-e76eb49a6d8d

延伸阅读:

[1] VBA: 禁止单元格移动,防止单元格公式引用失效

[2] VBA: 禁止单元格移动,防止单元格公式引用失效(2)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与编程实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档