Tính tổng theo màu nền (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thinhpt

Thành viên mới
Tham gia
19/10/07
Bài viết
3
Được thích
1
Tôi muôn tạo một hàm tương tự nhw tính tổng tương tự hàm SUM, nhưng có thêm tham số màu nền. Hàm sẽ tính tổng các số trong range, nhưng chỉ tính tổng các số có cùng màu nền như trong tham số được cung cấp.

Mong anh em gần xa chỉ giáo (VBA)
 
Tính tổng theo điều kiện ngày tháng/Tính tổng theo điều kiện màu của ô dữ liệu (Cell)

Chào các anh chị em,

Xin nhờ các anh chị em giúp tôi tính tổng dữ liệu theo:

- Điều kiện ngày tháng.

hoặc

- Điều kiện màu của ô chứa dữ liệu.

Tôi gửi kèm theo file minh hoạ ở đây.

Rất mong sớm nhận được sữ giúp đỡ.

Xin cảm ơn.
 

File đính kèm

Upvote 0
Chào các anh chị em,

Xin nhờ các anh chị em giúp tôi tính tổng dữ liệu theo:

- Điều kiện ngày tháng.

hoặc

- Điều kiện màu của ô chứa dữ liệu.

Tôi gửi kèm theo file minh hoạ ở đây.

Rất mong sớm nhận được sữ giúp đỡ.

Xin cảm ơn.

Câu 1: Dùng hàm sau

E2=SUMPRODUCT((WEEKDAY($A$2:$A$32)=F2)*($B$2:$B$32)) -->Kéo xuống

Lưu ý là phải tham chiếu đến cell phụ theo ngày trong tuần, Thứ 2=2 --> Thứ 7=7, Chủ Nhật =1

Câu 2: Dùng code sau:

Mã:
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
    Dim rCell As Range
    Dim lCol As Long
    Dim vResult
    lCol = rColor.Interior.ColorIndex
    If SUM = True Then
        For Each rCell In rRange
            If rCell.Interior.ColorIndex = lCol Then
                vResult = WorksheetFunction.SUM(rCell, vResult)
            End If
        Next rCell
    Else
        For Each rCell In rRange
            If rCell.Interior.ColorIndex = lCol Then
                vResult = 1 + vResult
            End If
        Next rCell
    End If
   ColorFunction = vResult

End Function
Cú Pháp:

Cộng Tổng =ColorFunction(CellChuaDKMau,VungCanCong,True) Nếu muốn đếm thay True=False
 

File đính kèm

Upvote 0
Chào các anh chị em,

Xin nhờ các anh chị em giúp tôi tính tổng dữ liệu theo:

- Điều kiện ngày tháng.

hoặc

- Điều kiện màu của ô chứa dữ liệu.

Tôi gửi kèm theo file minh hoạ ở đây.

Rất mong sớm nhận được sữ giúp đỡ.

Xin cảm ơn.
công thức đếm người tham dự ngày
=SUM(IF((WEEKDAY($A$2:$A$32,1)=1),$B$2:$B$32))
=SUM(IF((WEEKDAY($A$2:$A$32,1)=2),$B$2:$B$32))
=SUM(IF((WEEKDAY($A$2:$A$32,1)=7),$B$2:$B$32))
1=cn, 2= thứ 2, 3=thứ 3
nhớ bấm ctrl+shifl+enter nhé
còn sum theo màu thì công thức tôi không biết
 
Upvote 0
Chào các anh chị em,

Xin nhờ các anh chị em giúp tôi tính tổng dữ liệu theo:
- Điều kiện ngày tháng.
hoặc
- Điều kiện màu của ô chứa dữ liệu.
Tôi gửi kèm theo file minh hoạ ở đây.
Rất mong sớm nhận được sữ giúp đỡ.
Xin cảm ơn.
Xin gởi một cách giải
câu 2:

Mã:
Public Function tongmau(vung, mau As Range) As Long
    Dim i, kq As Long
        i = mau.Interior.ColorIndex
            For Each mau In vung
                If mau.Interior.ColorIndex = i Then kq = kq + mau
            Next
tongmau = kq
End Function
Cú pháp: =tongmau(vung,mau)
vung: là vùng muốn tính tổng, trong bài là B2:B32
màu: chọn bất cứ cell nào có màu muốn tính tổng
 

File đính kèm

Upvote 0
Câu 1: thì mình có thể dùng hàm Sumif hoặc dùng mảng.
Còn câu 2 thì mình bó tay bởi vì không rành về Macro.
 

File đính kèm

Upvote 0
Dùng cái có sẵn ...

Chào các anh chị em,

Xin nhờ các anh chị em giúp tôi tính tổng dữ liệu theo:

- Điều kiện ngày tháng.

hoặc

- Điều kiện màu của ô chứa dữ liệu.

Tôi gửi kèm theo file minh hoạ ở đây.

Rất mong sớm nhận được sữ giúp đỡ.

Xin cảm ơn.

1. Điều kiện ngày tháng (với dữ liệu sẵn có như của bạn thì chỉ cần 1 công thức & không cần cột phụ), tại dòng 2 dùng cái này rồi fill xuống:
PHP:
=SUMPRODUCT((LEFT(TEXT($A$2:$A$32,"[$-409A]ddd"),3)=D2)*($B$2:$B$32))


2. Điều kiện theo màu (bạn đang dùng phiên bản >= Excel 2007 thì có thể hỗ trợ tính tổng theo màu được rồi - không cần VBA hay Macro gì hết)
Dùng Filter dòng tiêu đề, dùng hàm =SUBTOTAL(109,B2:B33) ở dưới
Bạn vào từng Filter by color -> Chọn Filter by Cell color sẽ ra kết quả như mong muốn !
 
Lần chỉnh sửa cuối:
Upvote 0
Hỏi thêm cho rõ, giúp nhen bạn!

2. Điều kiện theo màu (bạn đang dùng phiên bản >= Excel 2007 thì có thể hỗ trợ tính tổng theo màu được rồi - không cần VBA hay Macro gì hết)
Dùng Filter dòng tiêu đề, dùng hàm =SUBTOTAL(109,B2:B33) ở dưới
Bạn vào từng Filter by color -> Chọn Filter by Cell color sẽ ra kết quả như mong muốn !

Nếu mảng ô màu được tô bỡi CF thì trong Excel 2K3 khó vô chừng; Còn trong E2K7 trở lên có dễ không vậy, bạn?
 
Upvote 0
Nếu mảng ô màu được tô bỡi CF thì trong Excel 2K3 khó vô chừng; Còn trong E2K7 trở lên có dễ không vậy, bạn?

Bác, tôi chưa test cái này cho E2K3 !
Còn E2K7 trở lên thì cũng không biết dễ hay không nữa, thực sự là tôi chẳng mấy khi tính tổng hay làm gì đó gắn với công thức hay điều kiện bằng màu sắc => không thực tế !
Trở lại với trường hợp yêu cầu trong Topic này, với chừng ấy điều kiện và gói gọn như vậy nên góp ý với tác giả cái sẵn có dùng được cho nó đơn giản !

Những cái này, Bác phải chỉ cho Em mới đúng chứ, nhỉ !
 
Lần chỉnh sửa cuối:
Upvote 0
Xin SPAM một chút!

Những cái này, Bác phải chỉ cho Em mới đúng chứ, nhỉ !

Nhưng chưa có nhu cầu nạp Ex 2K7 nên hỏi để biết thêm thôi.

Vả lại mình cũng đề fòng trưồng hợp tác giả tô màu các ô bằng CF mà chưa tỏ hết í, thì uổng công một số người!

Đúng là tính hay đếm tổng các ô tô màu là thực tế, chỉ khi các ô đó được tô bỡi CF mà thôi; Nhưng cái này hơi cay & chua lắm thay!

Dù gì cũng rất chân thành cảm ơn bạn nhiều!
 
Lần chỉnh sửa cuối:
Upvote 0
Nhờ các bác giúp đỡ ! Em muốn tính theo màu nền nhưng tính theo sumproduct tức là nếu là màu đó thì lấy màu đó nhân với cột ngay bên cạnh chứ không chỉ cộng tổng thì cái code bên trên của các bác, ví dụ code này phải sửa như thế nào ạ

Public Function tongmau(vung, mau As Range) As Long
Dim i, kq As Long
i = mau.Interior.ColorIndex
For Each mau In vung
If mau.Interior.ColorIndex = i Then kq = kq + mau
Next
tongmau = kq
End Function

Em mù vbs mà đang cần quá mong các bác giúp đỡ (Em gửi ví dụ chỉ là ví dụ, vì thực tế dòng em có hàng trăm chi tiết, cột em có theo ngày và kéo dài rất nhiều ngày, và mỗi chi tiết lại phải làm khoảng 10 việc khác nhau (tô màu) và tất cả được ghi nhận hàng ngày bằng tay theo đúng thực tế diễn ra chứ không có quy luật nào cả nên em không tạo cột nhân tích sẵn trước khi cộng màu được ạ)

Tks các bác
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom