1

計算彙總行我有一個電子表格,看起來像這樣:在電子表格中

A   B    C 
1 Section Task   Dev Hours 
2 4   PROJECT TOTAL =c3+.... 
3 4.1  Public site  =c4+c5+... 
4 4.1.1  User Accounts 2 
5 4.1.2  Daily Deal  =sum(c6:c7) 
6 4.1.2.1 Model   4 
7 4.1.2.2 View   2 

我想是一種更好的方式來計算柱下無葉行彙總。使用= sum在添加/刪除行時容易出錯。此外,我只能在所有孩子都離開時使用它,否則會對事物進行重複計算。使用加法更容易出錯並且更煩人。根據列A中的大綱數字,是否有某種方法可以告訴{Excel,OpenOffice,LibreOffice,Google Documents}在列C中爲所有後續子行彙總值?我會喜歡這樣的功能:

=sum_children(A2) 

其中A2是具有當前行的大綱編號的單元格。

回答

2

您可以使用數組公式來做到這一點。對於下面的公式,我假設你的Section值按上面所示進行排序。在C2,粘貼以下,並通過按按Ctrl + + 輸入公式輸入

=SUM(IF(LEFT($A3:$A$7,LEN(A2))=A2,IF(ISERROR(FIND(".",$A3:$A$7,LEN(A2)+2)),$C3:$C$7,0),0)) 

然後,您應該能夠複製單元格C2並粘貼到任何低於代表細胞一個父節。

基本上,此公式檢查當前行下面的列A,以當前部分開頭的字符串,並且只爲那些在當前部分+「。」之後沒有附加週期的人加上開發小時數。

要避免當你添加額外的部分,以你的表更新這些公式,可以使陣列的端點(A7並在示例公式C7)連續遠遠超出你的表的底部(如A50C50)。這可能會影響性能,但實際上只有當你過度,並給自己一個50,000行的墊。

+0

哇,你是一個Excel嚮導。在Google文檔中,如果您將所有內容包裝在'= arrayfunction()'中,而不是輸入Ctrl + Shift + Enter。 –

+0

我有點擔心,如果大綱級別有兩位數,比如'4.1.10.2','+ 2'會中斷。 –

+1

其實'+ 2'應該在所有情況下都可以。它所做的就是確保'FIND()'函數開始尋找當前部分加上另一個部分之後的附加週期。因此,例如,如果當前部分是「4.1.10」,則從第8個開始(即在'4.1.10'的6個字符加上以下週期之後)查看以下部分。它會發現任何匹配的部分在該字符之後沒有另一個句點,包括'4.1.10.10'和'4.1.10.100000'。 – Excellll