Lọc danh sách học sinh (2 người xem)

Liên hệ QC

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

vinhsonghinh

Thành viên mới
Tham gia
22/3/09
Bài viết
10
Được thích
1
Mình nhờ các anh trên GPE chỉ dùm cách dùng hàm nào để lọc danh sách học sinh theo như ví dụ
Cảm ơn các anh chị nhiều
 

File đính kèm

Mình nhờ các anh trên GPE chỉ dùm cách dùng hàm nào để lọc danh sách học sinh theo như ví dụ
Cảm ơn các anh chị nhiều
Nhìn file của bạn, mình nghĩ bạn muốn tạo sổ danh bộ của trường. Tuy nhiên, bạn muốn lọc danh sách là lọc cái gì, lọc yêu cầu ra sao ??? nhìn vô không thấy yêu cầu nào nên không biết bạn muốn gì.

Nói thêm : biểu mẫu sổ danh bộ của bạn còn thiếu nhiều nội dung chẳng hạn : Mã số học sinh, Ngày chuyển đến, ngày chuyển đi, nơi đi, ... để từ đó còn tính hiệu suất đào tạo nữa chứ

TDN
 
Thưc ra mình đã dùng Auto Filter ở cột N nhưng chỉ lọc được danh sách cho năm học 2007-2008. Còn từ năm 2008- 2009 trở đi khi dùng Auto Filter ở cột N chỉ thấy được lớp đang học chứ không thấy tên học sinh.
Mong anh chị có cách nào khác giúp dùm mình
 
Thưc ra mình đã dùng Auto Filter ở cột N nhưng chỉ lọc được danh sách cho năm học 2007-2008. Còn từ năm 2008- 2009 trở đi khi dùng Auto Filter ở cột N chỉ thấy được lớp đang học chứ không thấy tên học sinh.
Mong anh chị có cách nào khác giúp dùm mình

Có lẽ bạn tạo bảng dữ liệu không hợp lý : Về nguyên tắc mỗi một dòng là một học sinh, mỗi cột là tham số của học sinh đó. Bạn thử sửa bảng dữ liệu theo cách này xem: Lấy ví dụ hoàng hoài nam
Cột A-G giữ nguyên
Cột I( Nơi sinh ) bạn gõ cùng dòng (6 ) Hoà Bình - Phú Yên
Cột J ( Họ tên cha ) dòng ( 6 ) gõ Hoàng Văn Vinh - Bình Giang
Còn các lớp học đã qua bạn chia làm 5 cột, cột 1 : 2007-2008; cột 2: 2008-2009 v.v. trong mỗi cột ghi tên lớp

Làm như vậy tất cả tham số của 1 học sinh đều cùng nằm trên 1 dòng, chắc chắn bạn sẽ giải quyết được mọi yêu cầu tra cứu.
Nếu cần thiết bạn có thể sử dụng auto fill-custom cho từng cột mà lọc. Chúc thành công
 
Bạn xem trong file nha

Mình nhờ chỉ dùm cách nào để lọc danh sách học sinh theo như ví dụ
PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [J1]) Is Nothing Then
   Dim Sh As Worksheet, Rng As Range, sRng As Range, Clls As Range
   Dim MyAdd As String
 
   Set Sh = Sheet1:        [B4].CurrentRegion.Offset(1, 1).ClearContents
   Set Rng = Sh.Range(Sh.[o5], Sh.[o65500].End(xlUp))
   Set sRng = Rng.Find([J1].Value, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then
      MyAdd = sRng.Address
      Do
         If sRng.Offset(, -1).Value = [L1].Value Then
            With [b65500].End(xlUp).Offset(1)
1               Set Clls = Sh.Cells(sRng.Row, "B")
2               If Clls.Value = "" Then Set Clls = Clls.End(xlUp)
               .Resize(, 6).Value = Clls.Resize(, 6).Value
            End With
         End If
         Set sRng = Rng.FindNext(sRng)
      Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
   End If
 End If
End Sub


Bổ sung & sửa đổi:

bài hôm qua đưa lên còn thiếu 2 dòng lệnh được đánh số (1) & (2)
Các bạn cảm fiền tải lại file đính kèm & rất xin lỗi!
 

File đính kèm

Lần chỉnh sửa cuối:
Gửi ChanhTQ@

Bạn rất "chiều" người hỏi đó. Tôi thì không như vậy. Vì xét cho cùng "chiều" sao cho hết.

Cũng xin nói thêm để vinhsonghinh hiểu: việc xây dựng bảng dữ liệu là theo chủ quan từng người nên chắc chắn là sẽ có rất nhiều mẫu. Thậm chí, sau 1 thời gian chính bạn lại là người đề xuất ra mẫu khác. Cho nên không thể có chương trình giải quyết cho từng mẫu được.

Nên chăng người hỏi nên có cách "xây dựng bảng dữ liệu" thô sơ nhưng "được việc", ví dụ như trả lời của gtri.
 
xin chào !
Tôi cũng có một câu hỏi gần tương tự như của bạn vinhsonghinh, Nhưng bố trí dữ liệu khác một chút mong các bạn giúp đỡ: Mô tả: tôi có một danh sách học sinh toàn khối trong sheet 1 bao gồm Ho và tên, ngày sinh, lớp trên 3 cột khác nhau. Bây giờ tôi muốn dùng hàm tách riêng mỗi lớp thành 1 sheet đặt tên lớp đó. KHông sử dụng giải pháp Lọc và copy. Mong nhận được sự tư vấn của các bạn
 
xin chào !
Tôi cũng có một câu hỏi gần tương tự như của bạn vinhsonghinh, Nhưng bố trí dữ liệu khác một chút mong các bạn giúp đỡ: Mô tả: tôi có một danh sách học sinh toàn khối trong sheet 1 bao gồm Ho và tên, ngày sinh, lớp trên 3 cột khác nhau. Bây giờ tôi muốn dùng hàm tách riêng mỗi lớp thành 1 sheet đặt tên lớp đó. KHông sử dụng giải pháp Lọc và copy. Mong nhận được sự tư vấn của các bạn
Bạn đưa 1 một File dữ liệu gồm DS tổng (toàn khối trong sheet1: dữ liệu thô nhưng có nhiều lớp ...), DS muốn lọc ra như thế nào (sheet2, sheet3 ...), Các Bạn trên GPE sẽ căn cứ vào đó giúp Bạn nhanh chóng hơn, có ai rảnh rỗi tự nghĩ ra một Bảng dữ liệu (mất thời gian mà không biết có đúng ý Bạn không) rồi "giúp" xong lại "trớt quớt".
Bạn tự ngẫm nghĩ lại xem.
Thân.
 
Bạn đưa 1 một File dữ liệu gồm DS tổng (toàn khối trong sheet1: dữ liệu thô nhưng có nhiều lớp ...), DS muốn lọc ra như thế nào (sheet2, sheet3 ...), Các Bạn trên GPE sẽ căn cứ vào đó giúp Bạn nhanh chóng hơn, có ai rảnh rỗi tự nghĩ ra một Bảng dữ liệu (mất thời gian mà không biết có đúng ý Bạn không) rồi "giúp" xong lại "trớt quớt".
Bạn tự ngẫm nghĩ lại xem.
Thân.
Tôi có danh sách như trên, và muốn tách học sinh theo lớp, mỗi lớp một sheet
 

File đính kèm

Nhờ các bạn giúp đỡ cho, tôi đang cần gấp. Thanks
 
ChanhTQ@ rất "chiều" người hỏi đó. . . Nhưng xét cho cùng "chiều" sao cho hết.
Cũng xin nói thêm để hiểu: việc xây dựng bảng dữ liệu là theo chủ quan từng người nên chắc chắn là sẽ có rất nhiều mẫu. Thậm chí, sau 1 thời gian chính bạn lại là người đề xuất ra mẫu khác. Cho nên không thể có chương trình giải quyết cho từng mẫu được.
Nên chăng người hỏi nên có cách "xây dựng bảng dữ liệu" thô sơ nhưng "được việc", ví dụ như trả lời của
gtri.
To: HaoNLH Muốn xây dựng 1 CSDL (Cơ sở dữ liệu) đúng ngay từ đầu đối với nhiều người cũng cần có kiến thức; Mà theo mình kiến thức đó ít người biết hơn là biết về excel. Việc này tôi vẫn thấy trên diễn đàn của chúng ta.
Theo chủ quan, excel có thể tự học, nhưng xây 1 CSDL thì không nên tự học 1 chút nào. & cũng theo thiển ý, đã là 1 CSDL thì nó sẽ vận động, không tĩnh tại.
Thôi thì với như cầu công việc hiện tại, họ đưa lên như vậy, giúp được thì mình giúp thôi. Hơn nữa cũng đã có người lưu í cho chủ topic rồi về kết cấu tiện & thông dụng của 1 CSDL.

Nhân đây mình cũng khuyên thêm chủ topic cái: Thây vì bạn giành 5 dòng cho 1 người thì nên là 5 cột;
Mà 5 cột hay 12 cột chăng nữa cũng chưa là hay: Chúng ta chưa đề fòng cái vụ học sinh mãi với game mà ở lại lớp. (Cá biệt có em 2 năm 1 lớp theo fương chậm chậm mà chắc!)

To TinhKa Thông cảm với bạn, là bạn chưa thể quen hay chưa được thông suốt việc đưa file lên; Nhưng trong điều kiện như vậy, sao bạn không mô tả những khác & giống nhau giữa file của bạn & file của chủ topic (hay 1 file nào đó gần nhất với bạn mà bạn đã xem qua)? Muốn tấn bộ cần chuyên cần thêm bạn à!

Vài í cùng các bạn & thân ái!
 
Lần chỉnh sửa cuối:
Tôi có danh sách như trên, và muốn tách học sinh theo lớp, mỗi lớp một sheet
Nếu giải quyết bằng Microsoft Visual Foxfro (đuôi file là DPF) thì chỉ cần viết 1 câu lệnh trên command 1 lần và copy ra 13 dòng (vì có tổng cộng 13 lớp) và enter là ok ngay trong tích tắc. Có điều bạn phải save as file excel về dạng DPF. Cụ thể
Bước 1: save as file xls về DPF (tại mục save as type)
Bước 2: tại cừa sổ command (hoặc vào window/ command) gõ câu SQL thế này:
COPY TO Lop_11A FOR Lop=11A type xls (enter)
COPY TO Lop_11B FOR Lop=11B type xls (enter)
....
file sẽ được xuất ra dưới dạng excel và tự động đặt tên từng sheet luôn tại nơi lưu file DPF, nếu bạn đổi tên file thì tên sheet sẽ tự động đổi theo.
Ghi chú qua trọng:
1. Chương trình Microsoft Visual Foxpro có biểu tượng hình đầu con cáo, nếu chương trình chưa có sẵn thì phải cài vào
2. Để có thể sử dụng DPF thì tên file, tên tiêu đề cột của bạn phải viết dính liền, không dấu, không khoảng trắng, nếu muốn cách ra thì phải dùng dấu gạch nối (ví dụ: STT, HO_TEN, ngaysinh, namsinh, ghichu, lop) và các cột phải được dãn ra hết, nếu không thì sẽ bị mất phần chữ bị che lại.
3. Ở phần điều kiện của câu lệnh (COPY TO Lop_11A FOR Lop=11A type xls) thì phải dủng đúng tiêu đề cột mà bạn đặt tên, nếu bạn đặt là Lop thì đk đó sẽ là FOR lOP=11A, nếu bạn đặt là Lophoc thì đk phải đặt là FOR Lophoc=11A)
Nếu chưa rõ thì bạn hỏi lại nha
Thân
 
Lần chỉnh sửa cuối:
Cảm ơn các bạn, đặc biệt là Boyxin nhưng tôi không thạo VBA, có hàm nào tách trực tiếp được không, mong các bạn tư vấn. Tôi muốn sử dụng hàm cho tiện. Tôi thấy một số bài viết có sư dụng các hàm INdex, Ofset v v như tôi ch]a hiểu bởi vậy không làm được. Mong các cao thủ chỉ giúp. Thanks trước
 
Cảm ơn các bạn, đặc biệt là Boyxin nhưng tôi không thạo VBA, có hàm nào tách trực tiếp được không, mong các bạn tư vấn. Tôi muốn sử dụng hàm cho tiện. Tôi thấy một số bài viết có sư dụng các hàm INdex, Ofset v v như tôi ch]a hiểu bởi vậy không làm được. Mong các cao thủ chỉ giúp. Thanks trước

Bạn muốn tách mỗi lớp thành 1 sheet riêng, dùng hàm vẫn được nhưng như vậy số ô chứa công thức trong file của bạn sẽ rất nhiều, điều này làm cho dung lượng file tăng lên, tốc độ xử lý tính toán sẽ chậm đi (thấy rất rõ nếu mở file trên máy có cấu hình thấp - đây là điều bất tiện)

Nếu vẫn muốn dùng công thức thì chỉ dùng 1 sheet để lọc ra danh sách từng lớp, sẽ có 1 ô cho bạn chọn lớp trong danh sách các lớp giống như bạn dùng chức năng AutoFilter và chọn lớp tại ô F1 (vậy thì thêm sheet, nhọc công lắp công thức chi cho mệt)
=======================================================
|| VÀI LỜI GÓP Ý, QUYẾT ĐỊNH CUỐI CÙNG LÀ DÙNG CÁCH NÀO VẪN LÀ Ở BẠN ||
=======================================================

Xin bạn cho biết làm sao để sửa lại code, áp dụng cho file khác. Tôi chưa biết gì về cái này. Chán thật
Nếu bạn có thể cho biết cấu trúc dữ liệu của những file bạn muốn áp dụng code
Thì mình mới có thể hướng dẫn cách sửa code hoặc gắn code giúp.
 
Cảm ơn bạn, tôi sẽ gửi danh sách cho bạn. Mục tiêu của tôi là chia lớp như trên. Nhưng hiện tại danh sách trên có thể vẫn phải sửa chữa. Bởi vậy tôi rất muốn áp dụng hàm để khi sủa danh sách tổng, thì các danh sách theo lớp cũng thay đổi theo. Tôi thấy cách của bạn tạo ra danh sách rất nhânh và tuyệt vời, nhưng khi sửa chữa lại phải làm lại. bạn có cách nào khắc phục giúp tôi không. Tôi gửi toàn bộ danh sách trường tôi, bạn code giúp. có gì tôi tìm hiểu dần. Thanks ( Làm sao để đính kèm tập tin nhỉ)
 
Web KT

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

Back
Top Bottom