對單列中 0 的相鄰儲存格求和

對單列中 0 的相鄰儲存格求和

我有一個數字列表(一列中有 8780 個值 - 下面發布了一個示例)其中一些是 <> 0,一些是 0。

數字清單:
0
0
0
0
0,127227198
0
0
0,229366036
0,174893344
0
0,247079364
0
0,508165499 0,247079364 0 0,508165499
0,380252705 189,015 853953
0,891621276 1,795142292 0 0 0 0 1,405576577 0,965799766 0,347987496 0,15944612 0,087348148 0 0















對於 <>0 的每個相鄰數字系列,我想匯總這些單元格值並將總和添加到 B 列的單獨單元格中。我可以在 B 列中使用 if 函數的某種組合嗎?

正如你所看到的數字 <> 0 隨機出現,所以我認為需要某種公式來檢查之前或之後的行是否 = 0,如果之後的行是 <> 0,則應該開始對上面的數字求和。

例如,我想將以下數字的總和加到一個儲存格中。

1,405576577  
0,965799766  
0,347987496  
0,15944612  
0,087348148 

我真的很感謝我能得到的任何幫助!希望這變得更清楚:)

答案1

對於 中的原始數據A1:A25,您可以使用以下內容:

B1透過貼上到公式欄並按Ctrl+ Shift+輸入以下數組公式Enter

=SUMPRODUCT((MIN(IF($A1:$A$25=0,ROW($A1:$A$25),ROW($A$26)))>ROW($A1:$A$25))*($A1:$A$25))

此公式對 A1 中及以下第一個零之前出現的值求和。

輸入B2具有額外條件的類似陣列公式(也使用Ctrl+ Shift+ Enter):

=IF(A1<>0,0,SUMPRODUCT((MIN(IF($A2:$A$25=0,ROW($A2:$A$25),ROW($A$26)))>ROW($A2:$A$25))*($A2:$A$25)))

這有一個條件來檢查上面 A 列中是否有非零單元格——如果它非零,則傳回 0。否則,對下一個零之前出現的值求和。

樣本:

在此輸入影像描述

相關內容