2015-11-02 138 views
0

我有以下公式,它已經很長時間返回#REF!錯誤,無論我如何重新設計它。 C1上的值是具有對所引用的單元中的數據標籤的名稱:INDIRECT函數錯誤

Aug 2012 

式的這一部分返回正確的數值:

=INDIRECT("'" & C1 & "'" & "!A502'") 

但這個公式給出了錯誤:

=SUM(INDIRECT("'" & C1 & "'" & "!A502:'" & C1 & "'" & "!A503")) 

對我在哪裏犯錯誤的任何幫助嗎?

回答

1

你有正確的公式將有:

=SUM(INDIRECT("'"&C1&"'!A502:A503")) 

我測試了這一點,並證實了它的工作原理,當C1說「表2」,我有一個名爲「表2」的另一頁。

兩件事情我已經改變了:

首先 - 你引用它,這樣它會重複表名稱爲範圍(A502)中列出的第一個單元格,以及爲第二單元(A503)。但是,如果您在Excel公式中手動選擇A502:A503,則可以看到其格式爲:'Sheet Name'!A502:A503。

我也簡化了公式,所以「'」與「!」在同一個字符串中。然而,如果沒有這種改變,它就會奏效。

動態創建像這樣的公式(使用INDIRECT或VBA)的關鍵是確保您實際返回到Excel並嘗試手動輸入它--Excel將其視爲可接受的公式?另外 - 如果您想查看公式爲什麼不起作用,請轉至公式功能區,然後單擊「評估公式」。這可以讓你逐步瀏覽公式,因爲它簡化了。如果你這樣做,它會告訴你最終的參考是由你的公式創建的,你可以將它與你自己手動創建的版本進行比較。

+1

這很完美!謝謝你的回答和冗長的解釋!欣賞你的時間。 – Dingo