Trợ giúp đếm số lượng người học theo từng tháng trong năm, người học có thể học nhiều khóa

Liên hệ QC

Khoa NPD

Thành viên mới
Tham gia
20/10/16
Bài viết
17
Được thích
0
Chào các anh chị,

Em có 1 ví dụ đính kèm về trường hợp đếm số lượng người học theo từng tháng trong năm, điều kiện là người học có thể học nhiều khóa nhưng chỉ đếm số người học, không đếm số lượng khóa học. Dữ liệu thật có nhiều tên và nhiều khóa khác nhau nên không tiện làm pivot table, nhờ anh chị giúp đỡ.

Xin cảm ơn,
 

File đính kèm

Chào các anh chị,

Em có 1 ví dụ đính kèm về trường hợp đếm số lượng người học theo từng tháng trong năm, điều kiện là người học có thể học nhiều khóa nhưng chỉ đếm số người học, không đếm số lượng khóa học. Dữ liệu thật có nhiều tên và nhiều khóa khác nhau nên không tiện làm pivot table, nhờ anh chị giúp đỡ.

Xin cảm ơn,
Thử: (Dời cột cho dễ nhìn)
Mã:
I3=COUNT(1/(MATCH($B$4:$B$100,IF(($D$4:$D$100=--RIGHT($G3,2))*($B$4:$B$100<>""),$B$4:$B$100),)=ROW($1:$100)))
Kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.

Thân
 

File đính kèm

Chào các anh chị,

Em có 1 ví dụ đính kèm về trường hợp đếm số lượng người học theo từng tháng trong năm, điều kiện là người học có thể học nhiều khóa nhưng chỉ đếm số người học, không đếm số lượng khóa học. Dữ liệu thật có nhiều tên và nhiều khóa khác nhau nên không tiện làm pivot table, nhờ anh chị giúp đỡ.

Xin cảm ơn,
Theo tôi thì pivot là giải pháp nhanh và dễ dàng nhất.
 
Thử: (Dời cột cho dễ nhìn)
Mã:
I3=COUNT(1/(MATCH($B$4:$B$100,IF(($D$4:$D$100=--RIGHT($G3,2))*($B$4:$B$100<>""),$B$4:$B$100),)=ROW($1:$100)))
Kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.

Thân
=COUNT(1/FREQUENCY(IF($D$4:$D$19=--RIGHT($G3),MATCH($B$4:$B$19,$B$9:$B19,0)*($C$4:$C$19<>"")),IF($D$4:$D$19=--RIGHT($G3),MATCH($B$4:$B$19,$B$4:$B$19,0))))
 
=COUNT(1/FREQUENCY(IF($D$4:$D$19=--RIGHT($G3),MATCH($B$4:$B$19,$B$9:$B19,0)*($C$4:$C$19<>"")),IF($D$4:$D$19=--RIGHT($G3),MATCH($B$4:$B$19,$B$4:$B$19,0))))
Rủi tháng 10-11-12, thì sao em!? :)
Cố chút nữa! em.
(Sao anh thấy nó có kết quả khác anh vậy em gái ơi!)

Nhưng, nếu đã dùng Frequency() thì nên như thế này:
Mã:
=SUM(--(FREQUENCY(IF(($D$4:$D$100=--RIGHT($G3,2))*($C$4:$C$100<>""),MATCH($B$4:$B$100,$B$9:$B100,0)),ROW($1:$100))>0))
Kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.

Thân
 
Lần chỉnh sửa cuối:
Rủi tháng 10-11-12, thì sao em!? :)
Cố chút nữa! em.
(Sao anh thấy nó có kết quả khác anh vậy em gái ơi!)

Nhưng, nếu đã dùng Frequency() thì nên như thế này:
Mã:
=SUM(--(FREQUENCY(IF(($D$4:$D$100=--RIGHT($G3,2))*($C$4:$C$100<>""),MATCH($B$4:$B$100,$B$9:$B100,0)),ROW($1:$100))>0))
Kết thúc bằng Ctrl+Shift+Enter, rồi fill xuống.

Thân
=SUM(--(FREQUENCY(IF(($D$4:$D$100=--RIGHT($G3,2))*($C$4:$C$100<>""),MATCH($B$4:$B$100,$B$9:$B100,0)),ROW($1:$100))>0)
ý này là anh cố ý hay vô tình Anh?
MATCH($B$4:$B$100,$B$9:$B100,0)
=SUM(--(FREQUENCY(IF($D$4:$D$19=--RIGHT($G3,2),MATCH($B$4:$B$19,$B$4:$B$19,0)),ROW($1:$100))>0))
 
=SUM(--(FREQUENCY(IF(($D$4:$D$100=--RIGHT($G3,2))*($C$4:$C$100<>""),MATCH($B$4:$B$100,$B$9:$B100,0)),ROW($1:$100))>0)
ý này là anh cố ý hay vô tình Anh?
MATCH($B$4:$B$100,$B$9:$B100,0)
=SUM(--(FREQUENCY(IF($D$4:$D$19=--RIGHT($G3,2),MATCH($B$4:$B$19,$B$4:$B$19,0)),ROW($1:$100))>0))
À! anh không để ý, chỉ ghi theo cấu trúc câu lệnh .

Đây, hôm bửa anh @befaint và anh có giới thiệu 1 loạt các câu lệnh "Đếm loại trùng theo điều kiện", có cả sắp xếp dài ngắn nữa, mấy em xem lại cho vui.
https://www.giaiphapexcel.com/diend...hức-đếm-loại-bỏ-đếm-trùng.138038/#post-883771

Thân
 
À! anh không để ý, chỉ ghi theo cấu trúc câu lệnh .

Đây, hôm bửa anh @befaint và anh có giới thiệu 1 loạt các câu lệnh "Đếm loại trùng theo điều kiện", có cả sắp xếp dài ngắn nữa, mấy em xem lại cho vui.
https://www.giaiphapexcel.com/diendan/threads/nhờ-tìm-lỗi-trong-công-thức-đếm-loại-bỏ-đếm-trùng.138038/#post-883771

Thân
Em đã tải về và lưu vào Bách khoa toàn thư đó Anh!

Cảm ơn Anh đã đem nhiều kiến thức bổ ích cho diễn đàn, để như em và mấy bạn trong diễn đàn được học hỏi nhiều!

chúc Anh có nhiều sức khỏe , và có nhiều niềm vui!
 
Chào các anh chị,

Em có 1 ví dụ đính kèm về trường hợp đếm số lượng người học theo từng tháng trong năm, điều kiện là người học có thể học nhiều khóa nhưng chỉ đếm số người học, không đếm số lượng khóa học.
,
Cách dùng FREQUENCY tôi đã viết ở đây. Bạn tham khảo.

https://www.giaiphapexcel.com/diend...ùng-lập-và-nhiều-điều-kiện.135388/post-862121

https://www.giaiphapexcel.com/diend...g-trùng-có-nhiều-điều-kiện.135733/post-865011
 
Cái Data Model đó nó nằm trong PowerPivot. Nếu bạn download PowerPivot và cài vào thì nó sẽ cập nhật khả năng Data Model của Excel 2010.
 
Chắc là tạo bảng Pivot làm bảng phụ, rồi dùng công thức Countif() để đếm.
Anh chỉ biết vậy, không biết có đúng không!?
Còn đang chờ anh @Thong Hoang Tien 250691 gửi bài giải của mình lên, mới học được em à!

Thân
Trong phần values chọn Distinct Count để đếm Anh nhé, cái này thích hợp khi phân tích dữ liệu cỡ lớn & từ nhiều nguồn.
Ngoài ra công thức của các anh/chị cũng rất hay, đáng để học tập. Cám ơn!
1541032525019.png
 
Trong phần values chọn Distinct Count để đếm Anh nhé, cái này thích hợp khi phân tích dữ liệu cỡ lớn & từ nhiều nguồn.
...
Nếu tôi không lầm thì con toán Distinct Count là con toán phân tích của CSDL. Vì vậy Pivot table bình thường sẽ không làm được. Muốn sử dụng các con toán phân tích này, Excel phải đưa bảng tính vào data model trước. Lúc dựng Pivot table, nếu Excel có Power Pivot thì nó sẽ hỏi bạn có muốn đưa vùng dũ liệu vào Data Model hay không, bạn phải tích vào ô này thì về sau mới thấy chọn lựa "Distinct Count".
 
nếu Excel có Power Pivot thì nó sẽ hỏi bạn có muốn đưa vùng dũ liệu vào Data Model hay không, bạn phải tích vào ô này thì về sau mới thấy chọn lựa "Distinct Count".
Em cũng không rõ vấn đề này lắm. Em dùng excel 2016, sau khi truy xuất dữ liệu để dựng power pivot thì cái function này đã có sẵn trong value rồi, không cần tick gì cả. Chỉ biết nó sẵn có nên xài vậy thôi à.
 
Web KT

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

Back
Top Bottom