將列中的值新增至 Excel 中的某一點並重複

將列中的值新增至 Excel 中的某一點並重複

我有數千個與所提供的圖片中顯示的值類似的值。

我試圖對 K 列中的時間值求和,但前提是它們在 M 列中具有「標誌」值,並且只有連續值。

例如,儲存格 M467-M477 均已標記,加在一起時,它們等於約 0.017 小時。

然後單元格 M478-M480 被忽略,然後單元格 M481-M483 的總和等於 ~0.0036 小時,依此類推。可以執行此操作的自動 Excel 公式是什麼?

電子表格值範例

![在此輸入影像描述

答案1

帶有輔助列的選項。

在此輸入影像描述

Q2 中的公式為

=IF(AND(M1<>"flag",M2="flag"),K2,IF(AND(M1="flag",M2="flag"),SUM(Q1,K2),""))

在R2中

=IF(Q3="",Q2,"")

抄下來。

答案2

如果您希望總和位於每個組的第一行,您可以使用以下公式:

=IF(AND(M2="Flag",M1<>"Flag"),SUM(K2:INDEX(K2:INDEX(K:K,MATCH(1E+99,K:K)+1),MATCH(TRUE,INDEX(M2:INDEX(M:M,MATCH(1E+99,K:K)+1)="",),0)-1)),"")

分解一下:

兩者INDEX(K:K,MATCH(1E+99,K:K)+1)找到 K 列中最後一個有數字的儲存格,並將其設定為引用範圍的範圍。

然後在 Sum 中,我們從同一行中的儲存格開始,K2 是相對的,隨著公式向下移動,引用也會向下移動。範圍中的結束儲存格使用另一個 INDEX/MATCH 設定。

這次,我們要找 M 列中公式所在行的第一個為空的儲存格。

IF() 只是使我們想要要求和的任何部分成為一個空字串。

在此輸入影像描述


如果您希望它位於群組的底部,請使用以下數組公式:

=IF(AND(M2="Flag",M3=""),SUM(INDEX($K$1:K2,IFERROR(MATCH(2,IF($M$1:M2="",1)),1)+1):K2),"")

作為陣列公式,退出編輯模式時必須使用 Ctrl-Shift-Enter 進行確認。如果操作正確,Excel 將包含{}公式。

這次我們正在尋找當前行上方 M 中的最後一個空白空間來設定第一個。

如果下面的行有“Flag”,則 IFERROR 將處理標題行。

在此輸入影像描述

相關內容