[CODE] Hàm đếm thâm niên

Liên hệ QC

kenndythai

Thành viên mới
Tham gia
8/12/07
Bài viết
4
Được thích
15
Mình có làm một hàm đếm thâm niên của công nhân phân loại
như trong file
Các bạn nhìn Sheet CN sẽ có cột thâm niên
Minh có code trong module Count hàm Đem2k nhung mà lúc thì có lúc không.
Các bạn chỉ giúp minh nha.

Function dem2dk(Array1 As Range, Condition1 As String, Array2 As Range, Condition2 As String, Array3 As Range) As Long
Dim Value, I As Long
Value = 0
For I = 1 To 550
If Array1.Item(I) = Condition1 And Array2.Item(I) = Condition2 And Array3.Item(I) <> "" Then
Value = Value + 1
End If
Next I
dem2dk = Value
End Function
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Cho em hỏi có cách nào gán macro cho cell nào đó để mình nhấn enter thì nó tự động chạy con macro đó không các bác.
 
Upvote 0
Mình có làm một hàm đếm thâm niên của công nhân phân loại
như trong file
Các bạn nhìn Sheet CN sẽ có cột thâm niên
Minh có code trong module Count hàm Đem2k nhung mà lúc thì có lúc không.
Các bạn chỉ giúp minh nha.

Function dem2dk(Array1 As Range, Condition1 As String, Array2 As Range, Condition2 As String, Array3 As Range) As Long
Dim Value, I As Long
Value = 0
For I = 1 To 550
If Array1.Item(I) = Condition1 And Array2.Item(I) = Condition2 And Array3.Item(I) <> "" Then
Value = Value + 1
End If
Next I
dem2dk = Value
End Function
Bạn dùng code thế này chỉ tổ làm cho máy "nặng" thêm (vì phải quét qua từng cell)
Tại sao không dùng SUMPRODUCT luôn cho rồi?
Công thức của bạn:
=dem2dk(CN!$E$2:$E527,$A5,CN!$L$2:$L527,B$3,CN!$C$2:$C527)
Còn tôi thì dùng:
=SUMPRODUCT((CN!$E$2:$E527=$A5)*(CN!$L$2:$L527=B$3)*(CN!$C$2:$C527<>""))
Cũng chẳng dài hơn công thức của bạn bao nhiêu... quan trọng nhất là công thức dưới không làm "trì trệ" máy tính
 
Upvote 0
Web KT

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

Back
Top Bottom