Tính tổng theo điều kiện

Liên hệ QC

thao nguyen01

Thành viên thường trực
Tham gia
8/12/19
Bài viết
214
Được thích
25
Kính gửi anh/chị trên diễn đàn,

Em vướng vấn đề này trong công việc ạ. Anh chị giúp em công thức theo mô tả trong file đính kèm ạ. Em cảm ơn anh/chị nhiều ạ.
 

File đính kèm

  • Book1.xlsx
    10 KB · Đọc: 22
Kính gửi anh/chị trên diễn đàn,

Em vướng vấn đề này trong công việc ạ. Anh chị giúp em công thức theo mô tả trong file đính kèm ạ. Em cảm ơn anh/chị nhiều ạ.
Mình thấy trong file của bạn có 2 ví dụ minh họa rồi. Bạn có thể cho thêm 3 ví dụ khác vào chính file đó luôn không? Mình chưa hiểu.
 
Kính gửi anh/chị trên diễn đàn,

Em vướng vấn đề này trong công việc ạ. Anh chị giúp em công thức theo mô tả trong file đính kèm ạ. Em cảm ơn anh/chị nhiều ạ.
Thử code này.
Mã:
Sub abc()
    Dim i As Long, lr As Long, arr, a As Long, tong As Double
    With Sheets("sheet1")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        arr = .Range("A2:D" & lr).Value
        For i = 1 To UBound(arr)
            If Len(arr(i, 3)) > 0 Then
               If a > 0 Then
                  arr(a, 4) = tong
                  tong = 0
               End If
               a = i
            End If
            tong = tong + arr(i, 2)
        Next i
        arr(a, 4) = tong
        lr = .Range("E" & Rows.Count).End(xlUp).Row
        If lr > 3 Then .Range("E4:H" & lr).ClearContents
        .Range("E4:H4").Resize(i - 1).Value = arr
   End With
End Sub
 
Thử code này.
Mã:
Sub abc()
    Dim i As Long, lr As Long, arr, a As Long, tong As Double
    With Sheets("sheet1")
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        arr = .Range("A2:D" & lr).Value
        For i = 1 To UBound(arr)
            If Len(arr(i, 3)) > 0 Then
               If a > 0 Then
                  arr(a, 4) = tong
                  tong = 0
               End If
               a = i
            End If
            tong = tong + arr(i, 2)
        Next i
        arr(a, 4) = tong
        lr = .Range("E" & Rows.Count).End(xlUp).Row
        If lr > 3 Then .Range("E4:H" & lr).ClearContents
        .Range("E4:H4").Resize(i - 1).Value = arr
   End With
End Sub
Dạ, em cảm ơn anh nhiều ạ
 
Kính gửi anh/chị trên diễn đàn,

Em vướng vấn đề này trong công việc ạ. Anh chị giúp em công thức theo mô tả trong file đính kèm ạ. Em cảm ơn anh/chị nhiều ạ.
tại D2 sử dụng công thức này
Mã:
=IF(C2="","",IFERROR(SUM(OFFSET(B2,0,0,MATCH(TRUE,$C3:$C$14<>"",0))),SUM($B2:$B$14)))
kéo xuống cho các ô D còn lại
 
Cụ thể đi nào, người hỏi mà cứ tiết kiệm lời, thì người trả lời chỉ biết trả lời: uhm
Dạ, em có kéo công thức xuống và các ô kết quả lần lượt là 570; 420; 300; 180; 90 nhưng kết quả đúng sẽ là 150; 120; 120; 90; 90. Em có mô tả kết quả ở cột H ạ
 
Dạ, em có kéo công thức xuống và các ô kết quả lần lượt là 570; 420; 300; 180; 90 nhưng kết quả đúng sẽ là 150; 120; 120; 90; 90. Em có mô tả kết quả ở cột H ạ
Bấm CTRL+SHIFT+ENTER ---> kết thúc nhập công thức
rồi mới kéo
 
Web KT
Back
Top Bottom