2017-07-07 73 views
0

請考慮此公式,該公式將工作表範圍內的單元格A6的內容從RbStartRbEnd加起來。Excel SUM跨表格:根據當前單元格確定行

=SUM(RbStart:RbEnd!A6) 

有沒有一種方法,使A6動態的,因爲它從當前單元格的行的行號的意義嗎?其原因被要求的是我的第一片材​​是,它整合其他片材的動態數的片材,位於RbStartRbEnd之間(RbStartRbEnd只是輔助片材能夠包括片材的動態數。)

第一張紙上的行是動態的。這是可以的,因爲Excel會在添加其他行時自動更新單元格引用。問題在於,在行生成期間,由於技術原因,我們之間有空白行,之後將其刪除。但是,當你這樣做時,Excel不會更新公式,因此它與它總結的動態表格不同步。

您可以模擬這個如下:

  1. 把我的公式單元格A6
  2. 將其拖拽至複製。注意如何在以後的行,就變成A7A8A9A10
  3. 現在刪除,也就是說,行9注公式第9行沒怎麼指A10

由於在動態工作表上刪除了相同的空白行,所以現在引用了錯誤的行。如果我可以以某種方式更改SUM公式,而不是A6它取出當前單元格所在的行,則問題將得到解決。

我希望我有道理。很高興澄清。

+0

查看「間接」公式https://support.office.com/zh-cn/article/INDIRECT-function-474b3a3a-8a26-4f44-b491-92b6306fa261 – user2023861

+0

我試過了,但我無法得到它上班。 –

回答

0

那麼這排在我的腦海裏的第一件事就是用下面公式

=SUM(INDIRECT("'Sheet1:Sheet3'!A"&ROW())) 

但後來我意識到INDIRECT不在這裏工作了。

因此,您必須列出所有表單的名稱並在公式中引用該列表。使用命名範圍將是更好的選擇。有關命名範圍的詳細信息,請參見this link。然後您可以根據需要在此列表中添加/刪除工作表名稱。之後,你可以使用下面的公式

=SUMPRODUCT(SUMIF(INDIRECT("'" & NamedRange &"'!A" & ROW()),"<>0")) 

,也可以使用以下數組公式

=SUM(N(INDIRECT(NamedRange & "!A"&ROW()))) 

作爲一個陣列式,通過按壓Ctrl鍵 + + 輸入提交它。

而不是命名範圍,你也可以直接使用單元格範圍。假設您有Cell AA1:AA5中的工作表名稱,則公式變爲

SUMPRODUCT(SUMIF(INDIRECT("'" & $AA$1:$AA$5 &"'!A" & ROW()),"<>0")) 

其他選項將使用VBA。

+0

@RoelVlemmings - 這有幫助嗎? – Mrig

相關問題