Đếm dữ liệu thỏa mãn điều kiện ở 2 cột và không bị trùng (3 người xem)

Liên hệ QC

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

Riley Nguyen

Thành viên mới
Tham gia
5/7/21
Bài viết
4
Được thích
0
Em chào các anh chị,
Em đang cần tính số lượng khách đã đặt hàng ở ô B2 trong file dưới đây ạ.
Tên khách ở cột A.
Khách đã đặt hàng được ký hiệu là OO ở cột C.
Dùng hàm countif đếm OO thì sẽ bị lặp do khách có thể xuất hiện nhiều lần ở cột A.
Vì thế em muốn hỏi cách viết hàm để ra được số lượng khách đã đặt hàng mà không bị trùng không ạ?
Em cảm ơn mọi người nhiều!
 

File đính kèm

Em chào các anh chị,
Em đang cần tính số lượng khách đã đặt hàng ở ô B2 trong file dưới đây ạ.
Tên khách ở cột A.
Khách đã đặt hàng được ký hiệu là OO ở cột C.
Dùng hàm countif đếm OO thì sẽ bị lặp do khách có thể xuất hiện nhiều lần ở cột A.
Vì thế em muốn hỏi cách viết hàm để ra được số lượng khách đã đặt hàng mà không bị trùng không ạ?
Em cảm ơn mọi người nhiều!
Dùng thử hàm sau:
Rich (BB code):
Function DemKH(CriteriaRange As Range, sCriteria As String, CountRange As Range)
Dim dic As Object, i&, k&

If CriteriaRange.Columns.Count > 1 Then DemKH = "#RANGE": Exit Function
If CountRange.Columns.Count > 1 Then DemKH = "#RANGE": Exit Function
Set dic = CreateObject("Scripting.Dictionary")

For i = 1 To CriteriaRange.Rows.Count
    If CriteriaRange.Cells(i).Value = sCriteria Then
        If Not IsEmpty(CountRange.Cells(i).Value) And Not dic.Exists(CountRange.Cells(i).Value) Then
            k = k + 1
            dic.Add CountRange.Cells(i).Value, k
        End If
    End If
Next
DemKH = k
End Function
 
Em chào các anh chị,
Em đang cần tính số lượng khách đã đặt hàng ở ô B2 trong file dưới đây ạ.
Tên khách ở cột A.
Khách đã đặt hàng được ký hiệu là OO ở cột C.
Dùng hàm countif đếm OO thì sẽ bị lặp do khách có thể xuất hiện nhiều lần ở cột A.
Vì thế em muốn hỏi cách viết hàm để ra được số lượng khách đã đặt hàng mà không bị trùng không ạ?
Em cảm ơn mọi người nhiều!
Thử dùng Hàm tự tạo bằng VBA xem sao.
 

File đính kèm

Em chào các anh chị,
Em đang cần tính số lượng khách đã đặt hàng ở ô B2 trong file dưới đây ạ.
Tên khách ở cột A.
Khách đã đặt hàng được ký hiệu là OO ở cột C.
Dùng hàm countif đếm OO thì sẽ bị lặp do khách có thể xuất hiện nhiều lần ở cột A.
Vì thế em muốn hỏi cách viết hàm để ra được số lượng khách đã đặt hàng mà không bị trùng không ạ?
Em cảm ơn mọi người nhiều!
nếu bạn dùng office 365 thì không cần VBA cho trường hợp này
Mã:
B1=COUNTA(UNIQUE(A6:A16))-1
Mã:
B2=COUNTA(UNIQUE(FILTER(A6:A16,C6:C16="oo","")))
 
nếu bạn dùng office 365 thì không cần VBA cho trường hợp này
Mã:
B1=COUNTA(UNIQUE(A6:A16))-1
Mã:
B2=COUNTA(UNIQUE(FILTER(A6:A16,C6:C16="oo","")))
Dạ file này em đưa lên google sheet thì đưa công thức này vào bị báo lỗi anh ạ. Có cách nào khác không anh? Em cảm ơn anh !
Bài đã được tự động gộp:

Thử dùng Hàm tự tạo bằng VBA xem sao.
Dạ file này em cần up lên google sheet cho các bạn nhân viên điền vào theo dõi, lúc đưa file anh gửi lên google sheet thì bị báo lỗi ạ :(
 
Web KT

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

Back
Top Bottom