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.
Nhưng nếu màu được bôi bỡi CF thì khỏi đưa file lên vì cài E2007 dễ hơn nhiều lần viết hàm để tính nó! ( Hãy tham khảo bài 56 sắc cầu vòng trong excel)
Bạn nên miêu tả sơ qua chứ ---> Mở file định làm nhưng thấy ghi gì gì tùm lum bên trong nên càng không hiểu
- Tổng cột nào?
- Theo điều kiện gì?
- Đặt công thức vào cell nào?
(Có phải tính tổng các cell màu đỏ không ta?)
Option Explicit
Function SumColorCells(LookUpRange As Range) As Double
Dim Clls As Range
For Each Clls In LookUpRange
With Clls
If .Offset(, -3).Value = Range("Tong").Value Then _
SumColorCells = SumColorCells + .Value
End With
Next Clls
End Function
Hướng dẫn sử dụng:
(1) Gàn tên cho 1 ô đang có chữ 'Tổng' với tên là 'Tong'
(2) Tại ô nào bất kỳ muốn hiện tổng trị đã bôi màu tại cột 'F', như [F7] ta nhập cú pháp sau: =SumColorCells(F8:F31)
Thực tế, đây không phải tính tổng theo màu mà tính tổng theo dữ liệu ô cận kề (Đó là ô có chữ 'Tổng'); Chuyện này rất bấp bênh & chỉ áp dụng được với những bảng đặc thù cụ thể mà thôi.
Bạn nên miêu tả sơ qua chứ ---> Mở file định làm nhưng thấy ghi gì gì tùm lum bên trong nên càng không hiểu
- Tổng cột nào?
- Theo điều kiện gì?
- Đặt công thức vào cell nào?
(Có phải tính tổng các cell màu đỏ không ta?)
Option Explicit
Function SumColorCells(LookUpRange As Range) As Double
Dim Clls As Range
For Each Clls In LookUpRange
With Clls
If .Offset(, -3).Value = Range("Tong").Value Then _
SumColorCells = SumColorCells + .Value
End With
Next Clls
End Function
Hướng dẫn sử dụng:
(1) Gàn tên cho 1 ô đang có chữ 'Tổng' với tên là 'Tong'
(2) Tại ô nào bất kỳ muốn hiện tổng trị đã bôi màu tại cột 'F', như [F7] ta nhập cú pháp sau: =SumColorCells(F8:F31)
Thực tế, đây không phải tính tổng theo màu mà tính tổng theo dữ liệu ô cận kề (Đó là ô có chữ 'Tổng'); Chuyện này rất bấp bênh & chỉ áp dụng được với những bảng đặc thù cụ thể mà thôi.
Lí do sửa: Trước mình tính tổng các ô có màu tại cột 'Tồn' (?)
Giờ thỉ đúng cho cả 2 cột luôn:
PHP:
Option Explicit
Function SumColorCells(LookUpRange As Range) As Double
Dim Clls As Range
For Each Clls In LookUpRange
With Clls
If .Offset(, Range("Tong").Column - LookUpRange.Column).Value = Range("Tong").Value Then _
SumColorCells = SumColorCells + .Value
End With
Next Clls
End Function
Lí do sửa: Trước mình tính tổng các ô có màu tại cột 'Tồn' (?)
Giờ thỉ đúng cho cả 2 cột luôn:
PHP:
Option Explicit
Function SumColorCells(LookUpRange As Range) As Double
Dim Clls As Range
For Each Clls In LookUpRange
With Clls
If .Offset(, Range("Tong").Column - LookUpRange.Column).Value = Range("Tong").Value Then _
SumColorCells = SumColorCells + .Value
End With
Next Clls
End Function