如何解决Excel关联工作表插入行后数据无法自动更新的问题
解决方法
错误原因说明
你之前使用INDIRECT时报#REF!的核心问题是:INDIRECT要求传入文本格式的合法单元格引用,INDIRECT(parent!A1)是直接把parent表A1的单元格值作为引用地址解析,你的样例数据里parent!A1值是foo,显然不是合法的单元格地址,自然报错。
可用方案
方案1:拼接动态行号的INDIRECT公式
直接用ROW()函数获取当前公式所在行号,和工作表名拼接后传入INDIRECT即可,公式如下:=IF(INDIRECT("parent!A"&ROW())=0,"",INDIRECT("child!A"&ROW()))
这个公式不管是插入还是删除行,都会自动匹配当前行对应的两个工作表A列的值,不需要手动拖拽填充整列。
方案2:转换为结构化表格(更适合长期维护的场景)
选中两个工作表的数据源区域,按下快捷键Ctrl+T转换为Excel结构化表格,插入行时表格会自动扩展范围、继承上一行的公式,完全不需要手动调整。
结构化表格的参考公式(假设parent表命名为表_parent,A列标题为值,child表命名为表_child,A列标题为值):=IF(表_parent[@值]=0,"",表_child[@值])
内容的提问来源于stack exchange,提问作者herbert mühlex
相关产品推荐
相关产品推荐

