尝试根据添加的数据长度更改数组。必须删除数据,除了从A:4开始的顶行,然后通过数据库拉取数据,该数据库创建向下钻取到节点底部的行。这可能与A10:Axxxxx不同,具体取决于该节点中的数据。
=AVERAGE(IF((MOD(ROW(Repurchase!E4:E45)+4,6)=0)*(Repurchase!E4:E45)<>0,(MOD(ROW(Repurchase!E4:E45)+4,6)=0)*(Repurchase!E4:E45)))
到目前为止,它有效。但当然一旦数据被删除并重新拉出
Repurchase!#REF!
显示,我必须手动添加回A4:Axxxx。
任何帮助将不胜感激。如果需要可以使用VBA,但正在寻找非宏工作表解决方案。
答案 0 :(得分:0)
将Repurchase!E4:E45
的所有引用替换为
Repurchase!E4:INDEX(Repurchase!E:E, MATCH(1e99, Repurchase!E:E))
这将创建从E4到E列中最后一个数字的范围。您可以删除没有后果的行,但范围将动态重塑为新的比例。范围内可以有空白或文本。它始终是从E4到列中的最后一个数字。
如果有人建议使用OFFSET function,请告诉他们您更愿意避免使用易失性功能。
如果行也可能影响E4,则使用INDEX function引用范围引用中冒号的两侧。
INDEX(Repurchase!E:E, 4):INDEX(Repurchase!E:E, MATCH(1e99, Repurchase!E:E))