Cám ơn bạn đã quan tâm bài của mình. Nhưng mình không cần condictionformat mà là condictionsum dùng để tính tổng nhiều điều kiện chứ không phải là định dạng có điều kiện.
Nó là một add-in của excel. Hiện bản 2003 và 2007 mình vẫn add bình thường. Nhưng ở bản 2010 mình chẳng thấy đau màg add cả.
Ảnh cách dùng add-in Condictionsum trên Excel 2007:
http://www.mediafire.com/?6spvfx7psw6babv
Ảnh tại Excel 2007 (vẫn thấy Condiction sum):
http://www.mediafire.com/?2abcw9cc405j7xs
Ảnh tại Excel 2010 (không thấy Condictionsum đâu cả):
http://www.mediafire.com/?2ry246oeaal3kfa
Mong bác xem giúp vì mình rất cần add-in này cho 2010
Bác Bill đã bảo "You can edit them by using other methods" thì bạn gửi file lên chia sẻ cùng mọi người xem sao.
Mình còn lơ mơ chứ bác
ndu96081631 đã ngó bài của bạn thì cứ yên tâm đi.
Cộng nhiều điều kiện, hàm sumifs không đáp ứng được, công thức mảng thì dài, dễ sai sót, bạn thử dùng code của bác HYEN17 xem sao.
http://www.giaiphapexcel.com/forum/...o-hàm-tính-tổng-theo-nhiều-điều-kiện-tùy-biến
Option Explicit
Function YouSum(SumRange As Range, LookUpRange As Range, Optional Crit1 As Variant _
, Optional Crit2, Optional Crit3)
Dim WF As Object, Rw1 As Double, Rw2 As Double, Rw3 As Double, Col As Byte
Col = SumRange.Column - LookUpRange.Column
Set WF = Application.WorksheetFunction
If IsMissing(Crit1) And IsMissing(Crit2) And IsMissing(Crit3) Then
YouSum = WF.Sum(SumRange)
Else
If Not IsMissing(Crit3) Then _
Rw3 = LookUpRange.Find(Crit3, , xlFormulas, xlWhole).Offset(, Col).Value
If Not IsMissing(Crit2) Then _
Rw2 = LookUpRange.Find(Crit2).Offset(, Col).Value
If Not IsMissing(Crit1) Then _
Rw1 = LookUpRange.Find(Crit1).Offset(, Col).Value
YouSum = Rw1 + Rw2 + Rw3
End If
End Function
Code trên là 3 điều kiện. Tương tự như vậy sao chép ra thêm nhiều điều kiện nữa.
Bằng cách khai báo thêm các biến và công thức YouSum = Rw1 + Rw2 + Rw3 + Rw…….
Số liệu bạn cần xử lý có như của tui không.