Lọc dữ liệu theo nhiều điều kiện ???

Liên hệ QC

Blad01

Thành viên thường trực
Tham gia
6/10/07
Bài viết
344
Được thích
28
Chào các bạn mình có một danh sách học sinh với học lực Giỏi, Khá, Tb, Yếu, Kém bây giờ mình muốn lọc dữ liệu phân theo học sinh có học lực như trên và kèm thêm một số điều kiện mà mình đã nêu rất rõ trong file đính kèm. Mong các bạn giúp đỡ.
Chân thành cảm ơn nhiều.

 
Lần chỉnh sửa cuối:
Chào bạn,

Có 2 cách làm. Tôi sẽ làm cả 2 cách cho bạn chọn. Ý tôi thì dùng pivot table (PT) thì hay hơn. Bảng học lực của bạn hiện có nhiều cột đang ở dạng gọp chung (merge cells). Việc này làm trở ngại cho việc lọc hay sort theo học lực của các em. Vì thế cần tạo 1 cột phụ ờ cột AU để làm việc.

- Cách lọc thì tôi đã tạo cái auto filter trong cột học lực ở cột AT. Bạn chỉ việc chọn trong cái họp dropdown thì XL sẽ lọc ra tên các em theo ý muốn.

- Còn dùng pivot table thì kết quả trong 1 trang mới tạo. Nếu muốn lấy danh sách tên các em trong từng hạng thì nhấp chuột vô 1 số trong bảng PT thì XL sẽ bung ra cho bạn 1 trang mới. Khi in ấn thì hủy trang đó.

Tôi tự tiện chỉnh đổi đôi chút bảng của bạn và gửi kèm theo đây để bạn coi lại.

Giờ phải bận đi họp với các nhân viên nếu bạn cần liên lạc thì cứ gới lời nhắn qua diển đàn tôi sẽ cố gắn hồi âm.

Mến chào
 

File đính kèm

  • SD.THCS.zip
    35.8 KB · Đọc: 133
Chỉnh sửa lần cuối bởi điều hành viên:
theo như bảng của bạn thì theo tớ làm pivot table là hay nhất và dễ nhất. Ban chỉ cần điền đầy đủ các thông tin vào 1 file rồi sau đó làm pivot để lấy ra các báo cáo bạn cần. Như thế sẽ rất tiện mà file ko bị quá nặng. Nếu bạn chưa quen làm pivot thì tớ có thể làm hộ cho.
 
Chào bạn,

Có 2 cách làm. Tôi sẽ làm cả 2 cách cho bạn chọn. Ý tôi thì dùng pivot table (PT) thì hay hơn. Bảng học lực của bạn hiện có nhiều cột đang ở dạng gọp chung (merge cells). Việc này làm trở ngại cho việc lọc hay sort theo học lực của các em. Vì thế cần tạo 1 cột phụ ờ cột AU để làm việc.

- Cách lọc thì tôi đã tạo cái auto filter trong cột học lực ở cột AT. Bạn chỉ việc chọn trong cái họp dropdown thì XL sẽ lọc ra tên các em theo ý muốn.

- Còn dùng pivot table thì kết quả trong 1 trang mới tạo. Nếu muốn lấy danh sách tên các em trong từng hạng thì nhấp chuột vô 1 số trong bảng PT thì XL sẽ bung ra cho bạn 1 trang mới. Khi in ấn thì hủy trang đó.

Tôi tự tiện chỉnh đổi đôi chút bảng của bạn và gửi kèm theo đây để bạn coi lại.

Giờ phải bận đi họp với các nhân viên nếu bạn cần liên lạc thì cứ gới lời nhắn qua diển đàn tôi sẽ cố gắn hồi âm.

Mến chào
Chân thành cảm ơn bạn rất nhiều, có lẽ đây là một cách thích hợp để những người mới tập tìm hiểu về Excell như mình tham khảo. Bạn ơi nếu dùng cách đó cũng mang lại hiệu quả nhất định tuy nhiên ở phần cột phụ liệu có cần nữa hay không khi mà danh sách học sinh phân loại theo học lực đã được xác định ở cột B (cột họ và tên rồi).
- Làm như cách của bạn cũng rất hay như nó hơi ảnh hưởng tới thẩm mỹ của toàn trang tính, hơn nữa người sử dụng sẽ khó phát hiện là trang tính có chức năng này.
- Sở dĩ mình muốn làm riêng ra một góc như vậy là mình muốn lập một bảng thống kê để người sử dụng dễ dàng so sánh và đối chiếu với các kết quả thống kê khác.
Tóm lại: Cách của bạn cũng là một cách làm rất hiệu quả nó đã giải quyết được mục đính chính của đề bài đó là lọc dữ liệu theo học lực. nhưng mong bạn cố gắng tìm cách làm theo yêu cầu của đề bài đã đề ra.
Một lần nữa chân thành cảm ơn bạn, chúc bạn luôn mạnh khỏe, hạnh phúc và gặp nhiều may mắn trong cuộc sống.
- Còn một vấn đề rất quan trọng nữa là nếu mình dùng chức năng Protext (khóa trang tính) thì chức năng này coi như không có tác dụng...

theo như bảng của bạn thì theo tớ làm pivot table là hay nhất và dễ nhất. Ban chỉ cần điền đầy đủ các thông tin vào 1 file rồi sau đó làm pivot để lấy ra các báo cáo bạn cần. Như thế sẽ rất tiện mà file ko bị quá nặng. Nếu bạn chưa quen làm pivot thì tớ có thể làm hộ cho.
Nếu bạn có cách làm được theo yêu cầu của bài đã ra, tôi rất mong nhận được sự giúp đỡ và chỉ dạy từ bạn.
Chân thành cảm ơn !
 
Chỉnh sửa lần cuối bởi điều hành viên:
Nếu bạn có cách làm được theo yêu cầu của bài đã ra, tôi rất mong nhận được sự giúp đỡ

Thực sự mà nói, với data hiện giờ của bạn rất khó để tổng hợp dữ liệu. Bạn nói rõ ý nghĩa từ cột tiêu đề bên trên (sheet("Toan"), dòng 3 đến dòng 5: ví dụ: Hệ Số M, V-Th, tại sao hệ số 1 M có 4 cột ...v.v....). Tôi sẽ thiết kế lại data cho bạn và sử dụng Pivot cho tất cả các báo cáo thống kê bên dưới của bạn. Việc này đồng nghĩa với việc sử dụng rất ít công thức, bố trí dữ liệu khoa học ==> máy sẽ chạy nhanh hơn và việc xem xét báo cáo được thuận tiện và rõ ràng hơn.
 
Thực sự mà nói, với data hiện giờ của bạn rất khó để tổng hợp dữ liệu. Bạn nói rõ ý nghĩa từ cột tiêu đề bên trên (sheet("Toan"), dòng 3 đến dòng 5: ví dụ: Hệ Số M, V-Th, tại sao hệ số 1 M có 4 cột ...v.v....). Tôi sẽ thiết kế lại data cho bạn và sử dụng Pivot cho tất cả các báo cáo thống kê bên dưới của bạn. Việc này đồng nghĩa với việc sử dụng rất ít công thức, bố trí dữ liệu khoa học ==> máy sẽ chạy nhanh hơn và việc xem xét báo cáo được thuận tiện và rõ ràng hơn.
Vâng bạn hiểu như sau:
- Hệ số 1:
+ Từ cột G đến J được kí hiệu là M (Miệng): Tôi phải để 4 cột là vì có nhiều môn có thể phải lấy 4 lần điểm miệng.
+ Từ cột K đến cột O được kí hiệu là V - Th (Viết or Thực hành) phải để 5 cột vì có môn phải lấy 5 lần điểm 15 phút + thực hành...
Tương tự như vậy với điểm hệ số 2.
Mỗi lần điểm: có trường yêu cầu giáo viên phải thống kê kết quả cũng như tỷ lệ mà học sinh đạt được trong lần kiểm tra đó nên tôi phải sắp xếp các ô như vậy để các bảng thống kê phía dưới dễ quan sát và theo dõi.
VD: Ở chô tôi công tác nhà trường yêu cầu phải có báo cáo chất lượng đầu năm để so sánh với cuối năm trước nên các giáo viên phải lấy số điểm 15 phút làm kết quả báo cáo tạm thời.
Chắc bạn không làm trong ngành giáo dục phải không ?
Rất mong nhận được sự giúp đỡ từ bạn. Chân thành cảm ơn !
 
Lần chỉnh sửa cuối:
Vâng bạn hiểu như sau:
- Hệ số 1:
+ Từ cột G đến J được kí hiệu là M (Miệng): Tôi phải để 4 cột là vì có nhiều môn có thể phải lấy 4 lần điểm miệng.
+ Từ cột K đến cột O được kí hiệu là V - Th (Viết or Thực hành) phải để 5 cột vì có môn phải lấy 5 lần điểm 15 phút + thực hành...
Tương tự như vậy với điểm hệ số 2.
Mỗi lần điểm: có trường yêu cầu giáo viên phải thống kê kết quả cũng như tỷ lệ mà học sinh đạt được trong lần kiểm tra đó nên tôi phải sắp xếp các ô như vậy để các bảng thống kê phía dưới dễ quan sát và theo dõi.
VD: Ở chô tôi công tác nhà trường yêu cầu phải có báo cáo chất lượng đầu năm để so sánh với cuối năm trước nên các giáo viên phải lấy số điểm 15 phút làm kết quả báo cáo tạm thời.
Chắc bạn không làm trong ngành giáo dục phải không ?
Rất mong nhận được sự giúp đỡ từ bạn. Chân thành cảm ơn !

Bạn xem file đính kèm. Database mình sửa lại một tí. Dùng Pivotable để lọc ra danh sách theo học lực, danh mục này excel tự sort rồi!.
Dựa vào cơ sở dữ liệu này. Tất cả các yêu cầu báo cáo khác của bạn mình nghĩ làm được hết, có thể dùng công thức gọn hơn, như sumproduct chẳng hạn. Tuy nhiên do thời gian eo hẹp, nên chỉ làm đến đây. Hy vọng sẽ được chia sẻ với bạn trong những ngày tới.

PS: Hihi, hồi đó lúc thi đại học sư phạm rớt nên đậu trường kinh tế thì học luôn, bây giờ là dân kinh tế luôn rồi.
 

File đính kèm

  • SD.THCS.rar
    61.8 KB · Đọc: 142
Lần chỉnh sửa cuối:
Một lần nữa chân thành cảm ơn bạn, chúc bạn luôn mạnh khỏe, hạnh phúc và gặp nhiều may mắn trong cuộc sống.
- Còn một vấn đề rất quan trọng nữa là nếu mình dùng chức năng Protext (khóa trang tính) thì chức năng này coi như không có tác dụng...

Cám ơn bạn nhiều.

Vậy thì cũng có thể bỏ luôn cái cột phụ nhưng bạn chỉ được lọc dữ liệu cơ bản (auto filter) thôi nhá. Vì không thể xài pivot table mà không có cột phụ. Lý do là trong XL, muốn sắp xếp hay lọc dữ liệu thì dòng đầu tiên (tên các cột - column header) không được ở dạng merged cells.

Tôi có chèn vào 1 Macro trong file (đính kèm) sau đây để cho phép bạn dùng tính năng lọc trong khi bảng tính ở dạng bị khóa (protect):

Mã:
Private Sub Workbook_Open()
With Sheets("TOAN")
  If Not .AutoFilterMode Then
 .Range("AT5", Range("AT5").End(xlDown)).AutoFilter
  End If
  .EnableAutoFilter = True
  .Protect Password:="", Contents:=True, UserInterfaceOnly:=True
End With
ActiveCell.Select
End Sub

Code trên sẽ tự động chạy khi bạn mở cái file ra. Trang ghi điểm hiện tại được khóa không có password, nếu cần thì bỏ password trong hàng này:

Mã:
 .Protect Password:="abc", Contents:=True, UserInterfaceOnly:=True 'password la abc

Chúc bạn mọi điều may mắn trong cuộc sống.

Mến
 

File đính kèm

  • SD.THCS.zip
    35.7 KB · Đọc: 72
Web KT
Back
Top Bottom