Nhờ giúp đỡ tính Sum theo nhóm

Liên hệ QC

tuanphuongcid

Thành viên mới
Tham gia
5/6/07
Bài viết
13
Được thích
0
Nhờ mọi người giúp đỡ mình thêm lần nữa,
Mọi người xem qua file đính kèm của mình, ở sheet" cac hang muc con lai" ở cột " tổng khối lượng" mình cần một hàm thay thế cho hàm Sum để thực hiện cho nhanh nhưng mình ko biết làm cách nào , Mong mọi người hạ cố xem qua, chúc tất cả anh chị em một ngày làm việc thành công
 

File đính kèm

Xem thử bài này của ndu... rồi vận dụng thử xem.
http://www.giaiphapexcel.com/forum/...-nghị-các-bạn-gửi-vào-đây&p=383962#post383962[/QUOTE

cám ơn thầy batê, nhưng với trình độ về code còn chưa được học vỡ lòng như em thì đúng là bói không ra được con kiến, mong thầy chỉ dạy cặn kẽ hơn các bước thực hiện. hoặc có thể giúp em thực hiện yêu cầu file ở trên. MOng thầy thông cảm, e đang còn trong giai đoạn mò mẫm nên giờ phải nhìn vào đáp án rồi làm theo. em cam ơn thầy, chúc thầy và gia đình sức khoẻ và luôn vui vẻ
 
Upvote 0
Nhờ mọi người giúp đỡ mình thêm lần nữa,
Mọi người xem qua file đính kèm của mình, ở sheet" cac hang muc con lai" ở cột " tổng khối lượng" mình cần một hàm thay thế cho hàm Sum để thực hiện cho nhanh nhưng mình ko biết làm cách nào , Mong mọi người hạ cố xem qua, chúc tất cả anh chị em một ngày làm việc thành công
Bạn dùng công thức này cho ô M8 rồi fill xuống đến dòng 138
Mã:
=SUM(L9:$L$139)-SUM(M9:$M$139)
Lưu ý: Phải fill công thức cho cả cột thì kết quả mới đúng nhé.
 
Upvote 0
Bạn dùng công thức này cho ô M8 rồi fill xuống đến dòng 138
Mã:
=SUM(L9:$L$139)-SUM(M9:$M$139)
Lưu ý: Phải fill công thức cho cả cột thì kết quả mới đúng nhé.

công thức này sẽ sai khi kéo xuống dưới, các tổng có nhiều dòng

Sửa lại sau cho chuẩn hơn, M8:
=IF(L8="",SUM($L9:$L$139)-SUM(M9:M$137),"")

Cũng lưu ý phải copy đến hết vùng dữ liệu M8:M137
 
Lần chỉnh sửa cuối:
Upvote 0
Tính tổng cho các công việc

1) Bạn nên đánh lại số thứ tự công việc, chứ File của bạn đánh lung tung quá (tham khảo cách đánh số thứ tự theo File đính kèm), ví dụ công thức tại ô A8 như sau
PHP:
IF(C8="";"";MAX($A$7:A7)+1)
bạn kéo xuống tất cả cột A nhé.

2) Các Sheet bạn nên bố trí như nhau về cấu trúc thì mới áp dụng được, ở đây tôi chỉ giữ lại 1 Sheet ví dụ, 2 sheet kia bạn bố trí lại cho giống nhé.

3) Sau khi chạy Code, bạn bấm Alt+F8---> Run, thì kết quả sẽ tính tổng cho các công việc (tổng cho từng hạng mục bạn sum thủ công nhé vì nó không nhiều).
Code của bạn đây (tôi học được từ thày Ndu)

PHP:
Sub Tinhtong()
    Dim Arr(), i As Long, n As Long
    Dongcuoi = [L65000].End(xlUp).Row
   Range("M6:M1000").ClearContents
    For i = Dongcuoi To 6 Step -1
        If Cells(i, 12) <> "" And Cells(i, 1) = "" Then
            n = n + 1
            ReDim Preserve Arr(1 To n)
            Arr(n) = Cells(i, 12).Address(0, 0)
        ElseIf Cells(i, 1) > 0 And Cells(i, 3) <> "" Then
            Cells(i, 13) = "=" & Join(Arr, "+")
            n = 0
        End If
    Next
End Sub
 

File đính kèm

Upvote 0
1) Bạn nên đánh lại số thứ tự công việc, chứ File của bạn đánh lung tung quá (tham khảo cách đánh số thứ tự theo File đính kèm), ví dụ công thức tại ô A8 như sau
PHP:
IF(C8="";"";MAX($A$7:A7)+1)
bạn kéo xuống tất cả cột A nhé.

2) Các Sheet bạn nên bố trí như nhau về cấu trúc thì mới áp dụng được, ở đây tôi chỉ giữ lại 1 Sheet ví dụ, 2 sheet kia bạn bố trí lại cho giống nhé.

3) Sau khi chạy Code, bạn bấm Alt+F8---> Run, thì kết quả sẽ tính tổng cho các công việc (tổng cho từng hạng mục bạn sum thủ công nhé vì nó không nhiều).
Code của bạn đây (tôi học được từ thày Ndu)

PHP:
Sub Tinhtong()
    Dim Arr(), i As Long, n As Long
    Dongcuoi = [L65000].End(xlUp).Row
   Range("M6:M1000").ClearContents
    For i = Dongcuoi To 6 Step -1
        If Cells(i, 12) <> "" And Cells(i, 1) = "" Then
            n = n + 1
            ReDim Preserve Arr(1 To n)
            Arr(n) = Cells(i, 12).Address(0, 0)
        ElseIf Cells(i, 1) > 0 And Cells(i, 3) <> "" Then
            Cells(i, 13) = "=" & Join(Arr, "+")
            n = 0
        End If
    Next
End Sub
Code của bạn chưa chuẩn lắm, bạn so sánh với kết quả dùng công thức của mình
 

File đính kèm

Upvote 0
Cảm ơn bác VietHoai, lỗi do tôi chưa nhìn kỹ, 1 phần do dữ liệu bố trí chưa nhất quán nên Code chưa bao được các trường hợp.

(Qua bài vừa rồi tôi học được ở bác cách sử dụng hàm Indirect rất thú vị)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom