需要對包含 0 的最後一列之後的接下來 16 列求和

需要對包含 0 的最後一列之後的接下來 16 列求和

例子:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2

我想從第十七列開始,對直到最後 1 列的數字求和(16 列)。然而,對於第二個 1 以及之後的所有內容,我不希望有任何求和,因為它不滿足前面有零的條件。我正在使用SUMIF,但是當我嘗試將它擴展到我的工作表上時,它會繼續求和,例如 - SUMIF(A1:A16, "=0", A17:A33),我仍然會得到第二個 1 的非零值。

答案1

我真的不確定這是否是您想要的,但它是這樣的:

在 中B2,使用以下公式:

=IF(AND(SUM($A1:A1)=0,B1>0),SUM(B1:Q1),"")

並填充右側

你最終應該得到這樣的結果:

在此輸入影像描述

答案2

這將找到範圍內第一個不存在的列0,然後對接下來的 16 列求和。

=SUM(INDEX(A1:AH1,MATCH(0,A1:AH1)+1):INDEX(A1:AH1,MIN(MATCH(0,A1:AH1)+16,COLUMNS(A1:AH1))))

MATCH(0,A1:AH1)0傳回目前儲存格所在且下一個儲存格大於 的相對列號0。我們在範圍的開頭加上 1,在末尾加上 17。

在此輸入影像描述

答案3

我想建議一些使用SUMIF&SUMPRODUCT函數的棘手方法:

怎麼運作的:

  • 兩種方法都需要輔助值,1以便34在行中1(檢查螢幕截圖)。

在此輸入影像描述

  • 單元格中的公式AV3:

    =SUMIFS(N2:AU2,N1:AU1,">=17",N1:AU1,"<=32")
    
  • 在儲存格中輸入此公式AV4:

    =SUMPRODUCT(SMALL(N2:AU2,{17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}))
    

如果您正在處理巨大的資料集,那麼您可以使用這個公式。

=SUM(INDEX(N2:AU2,0,COLUMNS(N2:AU2)-(L$6-3)):INDEX(N2:AU2,0,COLUMNS(N2:AU2)))
  • 單元格L6帶有計數1s,最好在單元格中使用這個公式L6

    =COUNTIF(N2:AU2,1)

  • 您可以根據需要調整公式中的儲存格參考。

相關內容