F4 = SUMPRODUCT(1/COUNTIF(OFFSET($B$3,MATCH(E4,$B$4:$B$100,0),1,COUNTIF($B$3:$B$100,E4),),OFFSET($B$3,MATCH(E4,$B$4:$B$100,0),1,COUNTIF($B$3:$B$100,E4),)))
Cám ơn bác Viendo nhiều nha. Bài toán ban đầu mình đưa ra một điều kiện tháng mà quên mất nó còn 02 cột điều kiện năm và quý nữa. Bác help thêm chút nữa nhé.Tạm sử dụng công thức sau tại F4 và fill xuống nhé
Bài toán đếm duy nhất có điều kiện đã nói nhiều rồi mà! ---> Dùng FREQUENCY nhaCó lẽ bạn phải đưa dữ liệu thật lên để xem cách bố trí dữ liệu và báo cáo thế nào thì mọi người dễ giúp bạn
=COUNT(1/FREQUENCY(IF(($B$4:$B$100=$G$2)*($D$4:$D$100=$G4),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0))),IF(($B$4:$B$100=$G$2)*($D$4:$D$100=$G4),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0)))))
=COUNT(1/FREQUENCY(IF(($B$4:$B$100=$G$2)*($C$4:$C$100=$G8),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0))),IF(($B$4:$B$100=$G$2)*($C$4:$C$100=$G8),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0)))))
Cám ơn bác viendo. Bác thật tốt ah. Bác thêm dùm tôi cái điều kiện để loại trừ lỗi chia cho 0 nữa với nhé. Thỉnh thoảng trong cột khách hàng là dòng trống thì nó sẽ báo lỗi #DIV/0!. Cám ơn bác nhé.
Hổng biết thầy DŨNG là cha nào vậy ta?Hay quá thầy Dũng ơi.




Tôi nghĩ cái này dùng Pivot thì hay đó, dữ liệu nhiều chạy cũng nhanh nữa và cách làm cũng rất đơn giản . Nếu sợ mỗi lần cập nhật thì refesh, thì bạn nên viết 1 macro tự động refresh. Công thức của anh ndu rất hay nhưng sợ dùng công thức mảng nếu dữ liệu nhiều sẽ chậm. Chú ý bạn rõ 1 tí nha, người viết ra công thức này là Anh ndu chứ không phải anh dũng đâu.Hay quá thầy Dũng ơi. Em cám ơn thầy nhiều nha. Em làm được như mong muốn rồi. Cái này trước đây vì nghĩ không ra công thức nên em phải chạy cái Pivot rồi mỗi lần cập nhật là refresh cực dễ sợ luôn. Em cám ơn thầy nha.
Tôi cũng từng nghĩ sẽ dùng PivotTable nhưng chẳng biết bố trí cách nào cho giống với form của tác giảTôi nghĩ cái này dùng Pivot thì hay đó, dữ liệu nhiều chạy cũng nhanh nữa và cách làm cũng rất đơn giản . .




Dạ đúng rồi Pivot không có cách bố trí nào giống như của tác giả. Ý em là làm sao cho nó nhanh và dễ làm thôi.Tôi cũng từng nghĩ sẽ dùng PivotTable nhưng chẳng biết bố trí cách nào cho giống với form của tác giả
Hay bạn làm thử 1 cái gửi lên đây cho tôi học hỏi với
Hiz, thầy ơi. Em làm cái công thức mảng của thầy mà máy nó chạy như rùa ah. Vì dữ liệu của em hơn 30,000 dòng nên nó chậm quá. Thầy có cách nào khác để nó tính nhanh hơn không thầy! Em sài laptop Core i3.Bài toán đếm duy nhất có điều kiện đã nói nhiều rồi mà! ---> Dùng FREQUENCY nha
1> Công thức tại H4
Kéo fill xuống H7PHP:=COUNT(1/FREQUENCY(IF(($B$4:$B$100=$G$2)*($D$4:$D$100=$G4),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0))),IF(($B$4:$B$100=$G$2)*($D$4:$D$100=$G4),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0)))))
2> Công thức tại H8:
Ưu điểm:PHP:=COUNT(1/FREQUENCY(IF(($B$4:$B$100=$G$2)*($C$4:$C$100=$G8),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0))),IF(($B$4:$B$100=$G$2)*($C$4:$C$100=$G8),IF($E$4:$E$100<>"",MATCH($E$4:$E$100,$E$4:$E$100,0)))))
- Công thức duy nhất, không cần bất cứ name nào và cũng không cần dữ liệu phải sort trước
- Bao nhiêu điều kiện cũng chơi được hết
- Chấp luôn dữ liệu có cell rổng




Thì đương nhiên rồi.. Công thức mảng nó phải vậy thôiHiz, thầy ơi. Em làm cái công thức mảng của thầy mà máy nó chạy như rùa ah. Vì dữ liệu của em hơn 30,000 dòng nên nó chậm quá. Thầy có cách nào khác để nó tính nhanh hơn không thầy! Em sài laptop Core i3.


Thì đương nhiên rồi.. Công thức mảng nó phải vậy thôi
lập trình VBA

Chào mynguyen1207,Dạ em có một ví dụ nhờ các bác hổ trợ nhé .
Đếm số đơn hàng ( loại bỏ trùng nhau) nhưng với điều kiện là mã khách hàng rỗng và theo ngày
Dạ em có một ví dụ nhờ các bác hổ trợ nhé .
Đếm số đơn hàng ( loại bỏ trùng nhau) nhưng với điều kiện là mã khách hàng rỗng và theo ngày
=SUMPRODUCT((D2:D11="")/COUNTIFS(B2:B11,B2:B11,A2:A11,A2:A11))


Dear all!
em cũng xem những hướng dẫn nhưng làm không được, không biết em thao tác đúng khô g nữa. Nhờ mọi người hướng dẫn em thêm nhé