动态获取值,使用来自另一个表的复杂公式



我使用的是Excel 2019(因为我没有office 365订阅),我在https://ufile.io/5xlkh1v3附加了Excel表格,其中包含数据和图表。数据表包含股票报价,数量,获取日期等,图表表包含列A中的数组公式,该公式查找特定硬编码帐户(例如数据表中的eTrade)的唯一股票。类似地,B列包含计算数据表中那些报价机成本的公式。除了当我在数据表的中间插入一行外,所有工作都如预期的那样在工作表中工作,当硬编码单元格引用更改时,工作表图中列A的填充值消失。

有人可以帮助使这个复杂的数组公式在列A从表图动态改变,使其填充值将保留?

谢谢!

最好把你用过的公式贴出来,并问清楚它们为什么会造成麻烦。Graph!A2中出现错误的原因如下公式:=IFERROR(INDEX(Data!A:A,SMALL(IF((Data!$I$2:$I$20="TD Ameritrade")*(Data!$J$2:$J$20="Stock")*(Data!$D$2:$D$20="")*MATCH(Data!$A$2:$A$20&Data!$I$2:$I$20&Data!$J$2:$J$20,Data!$A$2:$A$20&Data!$I$2:$I$20&Data!$J$2:$J$20,0)=ROW($1:$19),ROW($2:$20)),ROW(A1))),"")

如果您在Data!$2:$20中插入一行,您的公式将动态地扩大该范围,但公式的这一部分:ROW($1:$19),ROW($2:$20)将不会扩展,因为它不是指表Data!,如果您包含它,它也会扩展:

=IFERROR(INDEX(Data!A:A,SMALL(IF((Data!$I$2:$I$20="TD Ameritrade")*(Data!$J$2:$J$20="Stock")*(Data!$D$2:$D$20="")*MATCH(Data!$A$2:$A$20&Data!$I$2:$I$20&Data!$J$2:$J$20,Data!$A$2:$A$20&Data!$I$2:$I$20&Data!$J$2:$J$20,0)=ROW(Data!$1:$19),ROW(Data!$2:$20)),ROW(A1))),"")