在excel中使用公式中的单元格内存储的string

我想创build一个公式,将文件Model Results Tool - website.xlsm数据Model Results Tool - website.xlsm到称为Step 2 - stacked ROI的选项卡中的另一个文件中。 我已经build立了一个公式来做到这一点:

 =IF(AND(B$3<>"",'Step 1 - description of models'!$B5<>""),SUMIF('[Model Results Tool - website.xlsm]Step 13 - ROI'!$B$3:$GT$3,B$3,'[Model Results Tool - website.xlsm]Step 13 - ROI'!$B$9:$GT$9),"") 

其中B$3<>""检查只是确保这个度量标准有一个列标题,而'Step 1 - description of models'!$B5<>""检查确保Model Results Tool - website.xlsm模型已经列在Model Results Tool - website.xlsm参考列表中。 NB。 这是项目中包含的模型列表。 他们的名字和他们的数量将改变项目,所以这似乎是最明智的做法。

我想要做的是将公式中的stringModel Results Tool - website.xlsmreplace为我创build的参考列表中的单元格'Step 1 - description of models'!$B5<>""等该单元格名称明确包含在公式中,但它parsing为单元格的内容,即Model Results Tool - website.xlsm

我意识到这有点罗嗦,可能看起来过度杀手,但报告是由一组分析人员生成和分析的,因此需要进行治理,以便公式不会改变,但查找/参考清单可以。

这里有截图 – 请注意,所有的数据是完全组成的

这是我需要修改的公式的屏幕截图

这是上一个选项卡上的参考列表

我build议在工作表“第2步 – 堆积ROI”中添加一个额外的列,并填写模型名称。 例如A7包含digital 。 然后下面的公式将总结您的数据从所需的工作表:

  =IF(AND(C$3<>"",'Step 1 - description of models'!$B5<>""),SUMIF(INDIRECT("'"&VLOOKUP($A7,'Step 1 - description of models'!$A$5:$B$31,2,FALSE)&"Step 13 - ROI'!$B$3:$GT$3"),C$3,INDIRECT("'"&VLOOKUP($A7,'Step 1 - description of models'!$A$5:$B$31,2,FALSE)&"Step 13 - ROI'!$B$9:$GT$9"))) 

teylyn提到的限制当然是真实的(仅适用于打开的工作簿),但是在打开和closures所有源工作表后,数字将会更新并保留在结果表中。 希望我的提示能帮助你。

据我了解,你想要在一个单元格中存储文件的名称,然后使用公式中的该单元格的引用来执行该文件中的数据的计算。

Excel的INDIRECT()函数可用于将文本转换为单元格引用。 不幸的是,如果单元格中的文本指向一个closures的工作簿,则INDIRECT()将不起作用。 由INDIRECT()引用的任何文件必须打开才能使公式生效。 在很多情况下,这会破坏dynamic文件名的用途。

Laurent Longre有一个叫做Morefunc.xll的免费插件,它有一个名为INDIRECT.EXT()的函数,它可以在封闭的工作簿中使用。 可以在这里下载 Morefunc.xll。 请注意,它不适用于64位版本的Excel。