Theo yêu cầu của bạn. Cả hai cách. Mời bạn xem file.
Bạn làm rất nhanh.Cám ơn thắng nhe!
Chào bạn
huuthang_bd các bài của bạn rất hay mình đã tìm hiểu và học được rất nhiều ở GPE nói chung và ở bạn nữa, nhưng "không thầy đố mày làm nên" mình muốn bạn giải thích hộ mình hàm "=SUMPRODUCT(1/COUNTIF(Data,Data))".Mình chịu không thể hiểu nổi nó nữa!
Đây là dạng công thức mảng.
Hàm Countif() dùng bình thường
Countif({1,1,3},1) = 2
Và dùng dạng mảng:
Countif({a},{b})
Công thức này sẽ tạo ra một mảng được tạo bằng cách đếm từng phần tử của mảng {b} trong mảng {a}.
Ví dụ:
Countif({1,1,3},{1,2}) sẽ tạo ra mảng {2,0}
Countif({1,1,3},{1,1,3}) sẽ tạo ra mảng {2,2,1}
Dùng 1/Countif({1,1,3},{1,1,3}) để khi cộng lại, các phần tử giống nhau chỉ được cộng 1 lần.
Ví dụ 1/Countif({1,1,3},{1,1,3}) = 1/{2,2,1} = {1/2,1/2,1}
Nói chung là nếu có 2 phần tử giống nhau thì được 2 số 1/2, 5 phần tử giống nhau thì được 5 số 1/5. Cho nên dù có bao nhiêu phần tử giống nhau đi nữa, khi cộng hết lại sẽ được tổng số loại phần tử trong mảng. Gọi là đếm không trùng.
Sumproduct(1/Countif({1,1,3},{1,1,3}))=Sumproduct({1/2,1/2,1}) = 2
Những công thức này vận dụng chủ yếu là công thức mảng. Nếu muốn hiểu bạn phải tìm hiểu về công thức mảng trước. __________________