2016-10-02 72 views
1

我想創建一個公式,該文件將文件Model Results Tool - website.xlsm中的數據拖入名爲Step 2 - stacked ROI的選項卡中的另一個文件中。我建立了一個公式來做到這一點:使用excel中公式內單元格內存儲的字符串

=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模型已經上市前工作表參考列表。 NB。這是項目中包含的模型列表。他們的名字和他們的數量將改變項目,所以這似乎是最明智的做法。

我想要做的是將公式中的字符串Model Results Tool - website.xlsm替換爲我創建的參考列表中的單元格'Step 1 - description of models'!$B5<>"",使得單元格名稱明確包含在公式中,但它解析爲內容的細胞,即Model Results Tool - website.xlsm

我意識到這有點羅嗦,可能看起來過度殺戮,但報告是通過一組分析人員生成和分析的,因此需要進行治理設置,以便公式不會改變,但看起來上/參考名單可以。

以下是截圖 - 請注意,包含的所有數據完全由

this is a screenshot of the formula which I need to amend

this is the reference list on the preceeding tab

+0

我對你想要什麼有一個基本的想法,但爲了更清楚,你能提供截圖嗎?它可以幫助所有看起來這樣的人,並且有助於避免混淆。 – Manhattan

回答

1

我建議在工作表「第2步 - 堆疊投資回報率」中添加一個額外的列,並填寫模型名稱。例如。 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當然是真的(僅工作了打開的工作簿),但數字將更新並留在結果表在您打開並關閉所有源工作表後。 希望我的配方可以幫助你。

1

據我瞭解,你要存儲在一個文件名單元格,然後在對該文件中的數據執行計算的公式中使用對該單元格的引用。

Excel的INDIRECT()函數可用於將文本轉換爲單元格引用。不幸的是,如果單元格中的文本指向一個關閉的工作簿,則INDIRECT()將不起作用。任何由INDIRECT()引用的文件都必須打開才能使公式生效。在許多情況下,這會破壞動態文件名的用途。

Laurent Longre有一個名爲Morefunc.xll的免費插件,它具有一個名爲INDIRECT.EXT()的函數,該函數可用於封閉的工作簿。 Morefunc.xll可以是downloaded here。請注意,它不適用於64位版本的Excel。

+0

謝謝@teylyn - 我不確定是否INDIRECT會工作,因爲公式引用模型結果工具 - website.xlsm兩次,因此我需要INDIRECT(「公式」&單元格&「公式」&單元格&「公式」),我可以'不要讓它工作! –

+0

在配方中使用INDIRECT多少次無關緊要。獲得正確的語法確實如此。 – teylyn

相關問題