Nếu bạn muốn tổng số ở hàng đầu tiên của mỗi nhóm, bạn có thể sử dụng công thức này:
=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)),"")
Phá vỡ nó:
Cả hai INDEX(K:K,MATCH(1E+99,K:K)+1)
tìm ô cuối cùng trong cột K có một số và đặt theo phạm vi của phạm vi được tham chiếu Cách này là công thức động, khi các hàng mới được thêm vào, công thức sẽ tự động điều chỉnh.
Sau đó, bên trong Sum, chúng ta bắt đầu với ô nằm trong cùng một hàng, K2 là tương đối và khi công thức di chuyển xuống thì tham chiếu cũng vậy. Ô kết thúc trong phạm vi được đặt với INDEX / MATCH khác.
Lần này, chúng tôi đang tìm ô đầu tiên từ hàng có công thức trống trong cột M. Chúng tôi đặt hàng -1 đó là hàng cuối cùng cho SUM ().
IF () chỉ đơn thuần làm cho bất kỳ chúng ta muốn thực hiện tổng và phần còn lại là một chuỗi rỗng.
Nếu bạn muốn nó nằm ở cuối nhóm thì hãy sử dụng công thức mảng này:
=IF(AND(M2="Flag",M3=""),SUM(INDEX($K$1:K2,IFERROR(MATCH(2,IF($M$1:M2="",1)),1)+1):K2),"")
Là một công thức mảng, nó phải được xác nhận bằng Ctrl-Shift-Enter khi thoát khỏi chế độ chỉnh sửa. Nếu được thực hiện đúng, Excel sẽ đặt {}
xung quanh công thức.
Lần này chúng tôi đang tìm kiếm khoảng trống cuối cùng trong M phía trên hàng hiện tại để đặt đầu tiên.
IFERROR là để đối phó với hàng tiêu đề, nếu hàng ngay bên dưới có "Flag".