
我有一個數字列表(一列中有 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。否則,對下一個零之前出現的值求和。
樣本: