|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 dengjq2000 于 2015-1-23 11:33 编辑
=INDIRECT("[体育比赛.XLS]小学男子甲组双打!D"&ROW([体育比赛.xls]小学男子甲组双打!#REF!)*2)&"/"&INDIRECT("[体育比赛.XLS]小学男子甲组双打!D"&ROW([体育比赛.xls]小学男子甲组双打!#REF!)*2+1)&"("&INDIRECT("[体育比赛.XLS]小学男子甲组双打!j"&ROW([体育比赛.xls]小学男子甲组双打!#REF!)*2)
我用这个函数公式,跨表引用,应该讲INDIRECT函数跨表间接引用,对数据源的改动是没有影响的,当数据源工作表打开时,INDIRECT函数所引用的能返回正确的值,但当我把数据源重新输入关闭后重新打开后,INDIRECT函数所返回的值变为#REF!,查看公式,发现公式中=INRIRECT("D"&ROW(A1)*2)中,ROW()函数的参数变成#REF!导致了这个原因.
这是为什么呢?INDIRECT函数不是能间接引用不受数据源的变化而变化吗?为什么么我这里不行呢ROW()只是作为INDIRECT函数中的一个参数,应该不会受到数据源的变化而变化啊!
有人能帮我解释下吗?谢谢!
|
|