Tiếp tục xin được hỗ trợ lọc dữ liệu. (1 người xem)

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

nmhungcncm

Thành viên hoạt động
Tham gia
20/10/06
Bài viết
182
Được thích
80
Thưa các anh chị, đã hơn 1 lần tôi được các anh chị giúp đỡ lọc dữ liệu (nhất là CHI BI và THU NGHI) nhưng chậm hiểu quá, nay tôi muốn nhờ các anh chị tiếp tục giúp đỡ tôi. Đây là File phục vụ cho tuyển sinh vào lớp 10, nội dung nhờ tôi đã trình bày cụ thể trong 1 sheet. Xin được các anh chị giúp đỡ. Đa tạ.
 

File đính kèm

Theo mình, mình sẽ để chung Sheet dữ liệu và các biểu mẫu chung 1 sheet; như vậy việc trích lọc chỉ cần dùng AutoFilter và bớt đi nhiều công thức, file nhẹ hơn và nhanh hơn (khi in, cột nào không cần thì cho nó ẩn đi). Phần thống kê, tổng hợp mình thường dùng SUMPRODUCT hoặc COUNTIF. Một ví dụ : phần công thức của bạn :
{SUM(IF(TR="Cái Cấm",1,0))}
bạn có thể dùng công thức sau :
=COUNTIF(TR,B8)
Công thức này chắc chắn sẽ chạy nhanh hơn mãng rất nhiều, đồng thời copy xuống cho các ô dưới không cần sửa từng tên oải lắm.

TDN
 
Thưa các anh chị, đã hơn 1 lần tôi được các anh chị giúp đỡ lọc dữ liệu (nhất là CHI BI và THU NGHI) nhưng chậm hiểu quá, nay tôi muốn nhờ các anh chị tiếp tục giúp đỡ tôi. Đây là File phục vụ cho tuyển sinh vào lớp 10, nội dung nhờ tôi đã trình bày cụ thể trong 1 sheet. Xin được các anh chị giúp đỡ. Đa tạ.

Bạn tham khảo bài toán về lọc liệu của bạn Boyxin có lẽ là đáp ứng được yêu cầu của bạn đấy.
Sao lại không post được bài lên nhỉ?
 
Lần chỉnh sửa cuối:
Thưa các anh chị, đã hơn 1 lần tôi được các anh chị giúp đỡ lọc dữ liệu (nhất là CHI BI và THU NGHI) nhưng chậm hiểu quá, nay tôi muốn nhờ các anh chị tiếp tục giúp đỡ tôi. Đây là File phục vụ cho tuyển sinh vào lớp 10, nội dung nhờ tôi đã trình bày cụ thể trong 1 sheet. Xin được các anh chị giúp đỡ. Đa tạ.
Mà em có được phép sài VBA không ạ, công thức thì e chịu chết--=0
 
Lần chỉnh sửa cuối:
Thưa các anh chị, đã hơn 1 lần tôi được các anh chị giúp đỡ lọc dữ liệu (nhất là CHI BI và THU NGHI) nhưng chậm hiểu quá, nay tôi muốn nhờ các anh chị tiếp tục giúp đỡ tôi. Đây là File phục vụ cho tuyển sinh vào lớp 10, nội dung nhờ tôi đã trình bày cụ thể trong 1 sheet. Xin được các anh chị giúp đỡ. Đa tạ.
Mình giúp cậu vụ lọc phòng thi, Xem file đính kèm !
 

File đính kèm

@TDN:
Theo mình, mình sẽ để chung Sheet dữ liệu và các biểu mẫu chung 1 sheet; như vậy việc trích lọc chỉ cần dùng AutoFilter và bớt đi nhiều công thức, file nhẹ hơn và nhanh hơn (khi in, cột nào không cần thì cho nó ẩn đi).
-
Lọc vậy cũng được nhưng mình có 2 mẫu in khác nhau bạn a!
Phần thống kê, tổng hợp mình thường dùng SUMPRODUCT hoặc COUNTIF. Một ví dụ : phần công thức của bạn :
{SUM(IF(TR="Cái Cấm",1,0))}
bạn có thể dùng công thức sau :
=COUNTIF(TR,B8)
Công thức này chắc chắn sẽ chạy nhanh hơn mãng rất nhiều, đồng thời copy xuống cho các ô dưới không cần sửa từng tên oải lắm.

- Tôi học theo phản xạ có điều kiện, thấy công thức nào giống thì làm theo thôi! Để mình làm theo bạn thử xem, nhưng bạn có thấy chỗ thống kê từng loại điểm không?
@duongdv
user_offline.gif

10th Excel Member
Bạn tham khảo bài toán về lọc liệu của bạn Boyxin có lẽ là đáp ứng được yêu cầu của bạn đấy.

- Có đọc nhưng óc mình đặc quá bạn ạ!
@ontopoftheworld
user_offline.gif

Mà em có được phép sài VBA không ạ, công thức thì e chịu chết
- Xin bạn hướng dẫn bằng công thức, tôi không biết VBA bạn ạ. Dữ liệu thay đổi hàng năm, lập công thức tôi mới biết sửa!

@
DOSNET
user_offline.gif

6th Excel Member
gold.gif
gold.gif
gold.gif
gold.gif
gold.gif
gold.gif

Mình giúp cậu vụ lọc phòng thi, Xem file đính kèm !
Cám ơn bạn!
 
Bác cho tôi hỏi tiếp:
- Trên nền SheetLoc và Ph.thi có nền màu xanh như vậy, khi in ra liệu có tối màu không?
Oh, chuyện thay đổi màu đó là trong tầm tay của bạn mà.
Chọn một ô, Format\Conditional fomatting... Chọn Format và Đổi màu nền trong mục Patterns. Dùng "chổi sơn" định dạng cho cả vùng. Thân !
 
Oh, chuyện thay đổi màu đó là trong tầm tay của bạn mà.
Chọn một ô,
Format\Conditional fomatting... Chọn Format và Đổi màu nền trong mục Patterns. Dùng "chổi sơn" định dạng cho cả vùng. Thân !

-
Tại tôi tưởng bạn chọn và qui ước cái gì trong đó nên không dám sửa! Tôi còn dốt lắm bạn ạ!
 
Xin các bạn giúp tiếp công thức này, tôi dùng hàm IF, học theo byoxin (công thức xếp loại) nhưng mò mãi không ra:có File kèm.
Đa tạ
Tại ô E4
- Cho kết quả "đậu" nếu A4,B4,C4 đều lớn hơn 0 và D4 lớn hơn 10
- Cho kết quả là ô trống nếu A4 hoặc B4 hoặc C4 không có số liệu (ô trống)
- Còn lại cho kết quả là "hỏng"
Đa tạ!
 

File đính kèm

=IF(AND(A4*B4*C4>0,D4>10),"Đ",IF(A4*B4*C4*D4=0,"K X","H"))
Tôi thử thấy không đúng bạn ạ!
 
=IF(AND(A4>0,B4>0,C4>0,D4>10),"D",IF(OR(AND(A4="",B4="",C4=""),(AND(A4=0,B4=0,C4=0))),"","H"))

Có thể thay dấu "" trước ,"H" bằng "KX" nế muốn
Khi đó các cột A,B,C có thế trống hoặc bằng 0, bắt buộc số ở ô D phải có số lớn hơn 10 thì mới có kết quả đậu được
Thân
 
- Tôi mò làm lại theo gợi ý của các bạn (sau khi tham khảo các bài trên GPEX), thấy hình như đúng ý của tôi, nhờ các bạn kiểm tra hộ!
=IF(AND(A4>0,B4>0,C4>0,D4>10),"Đậu",IF(OR(D4="",A4="",B4="",C4=""),"","H"))
Nếu các điểm ở cột A, B, C không bị điểm 0, Cột tổng D lớn hơn 10 thì đậu
Nếu chỉ 1 trong các cột A,B,C,D bỏ trống thì cột kết quả để trống
Các trường hợp còn lại cho kết quả "H"
- Công thức của bạn cho: khi A4 hoặc B4 hoặc c4 =0 thì nó cho kết quả là "KX", trong khi yêu cầu là không có số liệu cơ, chứ nếu = 0 thì 0 vẫn là số liệu mà!
Dụng ý của tôi là nếu hs bỏ thi thì không xét kết quả, nếu thi bị điểm 0 là bị liệt nên kết quả là "H". Ở D4 tôi cũng làm 1 công thức: nếu 3 cột A,B,C có số liệu thì cộng, còn nếu thiếu số liệu thì để trống!
 
Lần chỉnh sửa cuối:
Thưa các anh chị, đã hơn 1 lần tôi được các anh chị giúp đỡ lọc dữ liệu (nhất là CHI BI và THU NGHI) nhưng chậm hiểu quá, nay tôi muốn nhờ các anh chị tiếp tục giúp đỡ tôi. Đây là File phục vụ cho tuyển sinh vào lớp 10, nội dung nhờ tôi đã trình bày cụ thể trong 1 sheet. Xin được các anh chị giúp đỡ. Đa tạ.

1. Viết hộ công thức để khi đứng ở Sheet Loc tôi có thể lọc được thí sinh theo từng phòng thi để in theo mẫu đã thiết kế sẵn.
Nếu chọn ở ô S1 của Sheet Loc số nào thì cho phòng thi đó
2. Viết hộ công thức để khi đứng ở Sheet Ph.thi tôi có thể lọc được thí sinh theo từng phòng thi để in theo mẫu đã thiết kế sẵn.
Nếu chọn ở ô I1 của Sheet Ph.thi số nào thì cho phòng thi đó
Bạn tham khảo cách LỌC trong sheet Loc, Ph.Thi

----------------------------------------------------
3. Công thức trong Sheet ThongKe và Sheet T.Hop như vậy có dài dòng quá không? Có cách nào rút gọn được không?
Theo mình: khi đã post file nhờ giúp thì không nên Protect Sheet ...
 

File đính kèm

Dụng ý của tôi là nếu hs bỏ thi thì không xét kết quả, nếu thi bị điểm 0 là bị liệt nên kết quả là "H". Ở D4 tôi cũng làm 1 công thức: nếu 3 cột A,B,C có số liệu thì cộng, còn nếu thiếu số liệu thì để trống!

Hiểu ý bạn rồi. Nếu ở D4 đã có công thức trả về ""
D4=IF(OR(A4="",B4="",C4=""),"",SUM(A4:C4))
Công thức chỉ cần ở E4
E4=IF(AND(A4*B4*C4>0,D4>10),"Đ",IF(D4="","","H"))
 
Lần chỉnh sửa cuối:
@byoxin:Theo mình: khi đã post file nhờ giúp thì không nên Protect Sheet ...
- Cho mình xin lỗi, không cố ý làm vậy, có lẽ trước đó làm rôi khóa sau đó không hài lòng nên nhờ các bạn giúp mà quên gỡ khóa!!. Bạn cứ bấm Un Protect là ra thôi, tôi không đặt mã gì bạn ạ.
@viendo:
-cám ơn bạn đã rút gọn công thức, tôi hiểu rồi! Đa tạ.
@@:
- Và đây là File mà công của các bạn góp nên. Tôi chưa sử dụng công thức của byoxin vì File này được làm trước khi bạn cho phương án lọc mới. Nhưng tôi cảm thấy công thức của bạn cho ngắn gọn và dễ hiểu hơn công thức của File mà tôi gửỉ kèm
(nếu còn cho nào chưa Protect thì cứ Un Protect là được)
 

File đính kèm

Lần chỉnh sửa cuối:
- Và đây là File mà công của các bạn góp nên. Tôi chưa sử dụng công thức của byoxin vì File này được làm trước khi bạn cho phương án lọc mới. Nhưng tôi cảm thấy công thức của bạn cho ngắn gọn và dễ hiểu hơn công thức của File mà tôi gửỉ kèm
(nếu còn cho nào chưa Protect thì cứ Un Protect là được)
Rất mừng vì Thầy cũng nắm bắt được các công thức.
Xin góp ý một chút về file trên. Chưa xem hết.
1/ Không nên đặt name là V hay T mà nên là Van hay là DiemV, DiemT. TR nên là Trg (cố gắng > 2 ký tự). Hay là Mon01, Mon02... và sẽ có 1 bảng Mon01: Tóan
2/ a/b% nếu b=0 thì khó coi nên là if(b=0,0,a/b%)
3/ Sao file thống kê của Thầy không thấy + số có điểm >6,5.
Thầy cố gắng sửa lại các tên name cho tổng quát và post lại (bắt buộc). Góp ý tiếp.
 
Rất mừng vì Thầy cũng nắm bắt được các công thức.
- Mũi bằng quả bóng rồi TN ơi!
1/ Không nên đặt name là V hay T mà nên là Van hay là DiemV, DiemT. TR nên là Trg (cố gắng > 2 ký tự). Hay là Mon01, Mon02... và sẽ có 1 bảng Mon01: Tóan
- Đã sửa theo góp ý
2/ a/b% nếu b=0 thì khó coi nên là if(b=0,0,a/b%)
- Đã sửa (nhưng lại bị sai)+-+-+-+
3/ Sao file thống kê của Thầy không thấy + số có điểm >6,5.
- Mình đã cộng số >5 thì có >6.5 rồi mừ!
Thầy cố gắng sửa lại các tên name cho tổng quát
- Tôi đã sửa và giữ lại mấy name để nếu cần thì thống kê: Ưu tiên, khuyến khích. Còn 1 số Name do các bạn khác hỗ trợ tôi không dám sửa vì chưa rành về cái này.
và post lại (bắt buộc). Góp ý tiếp
- Xin tuân lệnh!!
Thôi chết rồi! if(b=0,0,a/b%) thì mình lại sửa là if(a=0,0,a/b%)- Cái này sai rồi, xin tạ lỗi với thầy THUNGHI nhe
 

File đính kèm

Lần chỉnh sửa cuối:
- Và đây là File mà công của các bạn góp nên. Tôi chưa sử dụng công thức của byoxin vì File này được làm trước khi bạn cho phương án lọc mới. Nhưng tôi cảm thấy công thức của bạn cho ngắn gọn và dễ hiểu hơn công thức của File mà tôi gửỉ kèm
(nếu còn cho nào chưa Protect thì cứ Un Protect là được)
  1. Không chỉ ngắn gọn mà tốc độ xử lý còn nhanh hơn rất nhiều,
  2. Khi dữ liệu của bạn đầy đủ, lên đến vài nghìn dòng sẽ thấy hiệu quả ngay
 
@Byoxin cho mà còn giữ lại 1 ít rồi.
Không chỉ ngắn gọn mà tốc độ xử lý còn nhanh hơn rất nhiều,
- Tại sheet Ph.Thi, khi lọc theo phòng tại cột G- "Tên trường THCS" nó không lọc, tui cop từ cột F sang nó cũng không chạy! vậy là vì sao hả byoxin?
- Tôi chỉ muốn mỗi phòng có 24 thí sinh thì xóa công thức ở dòng có STT 25 được không??
Khi dữ liệu của bạn đầy đủ, lên đến vài nghìn dòng sẽ thấy hiệu quả ngay
- Đúng, File của tôi có 544 thí sinh mà thấy chậm rõ ràng!!
????
Bạn cho hỏi thêm:
- Tại sao sau khi mình sửa số phòng thi tại cột S của Sheet Dulieu để cho số thí sinh của phòng 1 còn 10 thí sinh nhưng tại Sheet Loc nó vẫn thể hiện đủ 25 thí sinh???và Sheet Ph.Thi thể hiện 24 thí sinh??
 
Lần chỉnh sửa cuối:
@Byoxin cho mà còn giữ lại 1 ít rồi.
- Tại sheet Ph.Thi, khi lọc theo phòng tại cột G- "Tên trường THCS" nó không lọc, tui cop từ cột F sang nó cũng không chạy! vậy là vì sao hả byoxin?
Không phải là giữ đâu, muốn để bạn nghiên cứu tý tẹo để bạn hiểu công thức và tự mình vận dụng được vào trường hợp cụ thể của bạn
Nếu thấy khó, thì đây. Tại sheet Ph.Thi
PHP:
G7 =INDEX(PhThi,$A7,COLUMN()+2)
H7 =INDEX(PhThi,$A7,COLUMN()+10)
rồi copy xuống
Copy công thức từ cột F sang nó vẫn chạy, có điều nó lọc ra thông tin của cột Hộ khẩu thường trú của sheet dữ liệu chứ không phải là cột Tên trường THCS
Chắc bạn thắc mắc:
  1. Tại sao lại phải có thêm +2, +10 trong khi tại sheet loc thì không vậy
    • Xin thưa rằng: cấu trúc bảng của sheet này khác nên công thức cũng phải khác
  2. Tại sao lại là +2, +10 mà không là số khác?
    • Bạn thay +2 thành số khác (-4, -3, -2) sẽ thấy câu trả lời
- Tôi chỉ muốn mỗi phòng có 24 thí sinh thì xóa công thức ở dòng có STT 25 được không??
xóa công thức ở dòng có STT 25 chưa đủ mà còn phải xóa thêm số 25 thì OK
- Tại sao sau khi mình sửa số phòng thi tại cột S của Sheet Dulieu để cho số thí sinh của phòng 1 còn 10 thí sinh nhưng tại Sheet Loc nó vẫn thể hiện đủ 25 thí sinh???và Sheet Ph.Thi thể hiện 24 thí sinh??
Hi, tại bạn không nói rõ lọc theo phương thức nào nên mình lọc dựa vào cấu trúc của bảng có trong sheet loc và sheet Ph.Thi, số thí sinh trong mỗi phòng dựa vào STT đánh sẵn trong cột A và cắt đoạn theo SBD ở sheet dữ liệu
Có thể dựa vào số phòng mà bạn điền trong cột S của sheet dữ liệu hoặc theo 1 cấch nào đó mà bạn thích đều có thể làm được
 
Không phải là giữ đâu, muốn để bạn nghiên cứu tý tẹo để bạn hiểu công thức và tự mình vận dụng được vào trường hợp cụ thể của bạn
Nếu thấy khó, thì đây. Tại sheet Ph.Thi
G7 =INDEX(PhThi,$A7,COLUMN()+2)
H7 =INDEX(PhThi,$A7,COLUMN()+10)
rồi copy xuống
Copy công thức từ cột F sang nó vẫn chạy, có điều nó lọc ra thông tin của cột Hộ khẩu thường trú của sheet dữ liệu chứ không phải là cột Tên trường THCS
- Byoxin ơi, tôi mới biết đến các hàm INDEX, Vloup gì đó mới mấy ngày nay. Bạn không thấy ở trên chỉ mấy cái IF mà tôi mò không ra sao bạn? Tôi kiểm tra mấy cái công thức ở cột phía trước thấy giống nhau nên cop pi sang cột "Trường cấp 2" nên sai!!!!!-\\/.
Chắc bạn thắc mắc:
  1. Tại sao lại phải có thêm +2, +10 trong khi tại sheet loc thì không vậy
    • Xin thưa rằng: cấu trúc bảng của sheet này khác nên công thức cũng phải khác
  2. Tại sao lại là +2, +10 mà không là số khác?
    • Bạn thay +2 thành số khác (-4, -3, -2) sẽ thấy câu trả lời
    - Cái này bạn cho mình "ngâm cứu" tí đã+-+-+-+
- Ban giải thích (ý là Việt hóa ấy mà) luôn hộ mình 2 cái Name mà bạn tạo cho mình hiểu với, để có gì mình dựạ vào của bạn mới "nhân bản" thêm!Hi hi


Hi, tại bạn không nói rõ lọc theo phương thức nào nên mình lọc dựa vào cấu trúc của bảng có trong sheet loc và sheet Ph.Thi, số thí sinh trong mỗi phòng dựa vào STT đánh sẵn trong cột A và cắt đoạn theo SBD ở sheet dữ liệu
Có thể dựa vào số phòng mà bạn điền trong cột S của sheet dữ liệu hoặc theo 1 cấch nào đó mà bạn thích đều có thể làm được
- Ý tưởng của tôi là tại Sheet Dulieu khi nhận hồ sơ thì minh cứ nhập vào không cần theo A,B,C gì cả, sau đó khi kết thúc nhập dữ liệu mình mới cho sắp xếp theo vần, ở cột cuối cùng (cột phụ) mình mới đánh số phòng (tùy ý có thể mỗi phòng 24 em như thiết kế này, cũng có thể phòng này 25, phòng kia 24,...phòng cuối còn 10 em không chừng). Còn ở Sheet loc và Sheet Ph.Thi căn cứ vào con số này mà lọc ra! Có lẽ bạn tải File đã bị cắt phần thông tin phía cuối trang nên bạn chưa thấy cuối trang có phần kiểm tra, thống kê, kí duyệt ...., Nếu làm được như vậy thì công tác tổ chức thi tuyển sinh sẽ nhẹ vô cùng, không phải "chổng mông đếm" như năm ngoái nữa - 4 người làm trong 1 ngày vẫn cứ sai!!
 
Lần chỉnh sửa cuối:
  1. - Ban giải thích (ý là Việt hóa ấy mà) luôn hộ mình 2 cái Name mà bạn tạo cho mình hiểu với, để có gì mình dựạ vào của bạn mới "nhân bản" thêm!Hi hi
  2. - Ý tưởng của tôi là tại Sheet Dulieu khi nhận hồ sơ thì minh cứ nhập vào không cần theo A,B,C gì cả, sau đó khi kết thúc nhập dữ liệu mình mới cho sắp xếp theo vần, ở cột cuối cùng (cột phụ) mình mới đánh số phòng (tùy ý có thể mỗi phòng 24 em như thiết kế này, cũng có thể phòng này 25, phòng kia 24,...phòng cuối còn 10 em không chừng). Còn ở Sheet loc và Sheet Ph.Thi căn cứ vào con số này mà lọc ra! Có lẽ bạn tải File đã bị cắt phần thông tin phía cuối trang nên bạn chưa thấy cuối trang có phần kiểm tra, thống kê, kí duyệt ...., Nếu làm được như vậy thì công tác tổ chức thi tuyển sinh sẽ nhẹ vô cùng, không phải "chổng mông đếm" như năm ngoái nữa - 4 người làm trong 1 ngày vẫn cứ sai!!
1- Các name
PHP:
Loc =OFFSET(DuLieu!$A$6,VLOOKUP(Loc!$F$3,Settings,3,0),,Loc!$G$3,19)
PhThi =OFFSET(DuLieu!$A$6,VLOOKUP(Ph.thi!$E$3,Settings,3,0),,Ph.thi!$F$3,19)
Đây là các name động (thay đổi vùng chọn theo số phòng được chọn. Cắt vùng dữ liệu, chỉ lấy vùng có STT, SBD trong phòng được chọn để lọc)=> dữ liệu có đến vài chục ngàn dòng vẫn lọc vô tư
Chọn số phòng rồi kiểm tra vùng chọn của từng name này sẽ thấy

2- bạn tham khảo cách trong file đính kèm này nhé
 

File đính kèm

@Byoxin:
- Xin đừng trách tôi, tôi ở tình trạng gì nhỉ?? nói nôm na là "được các bạn nấu sẵn rồi mà không biết đường ăn" - khả năng tiếp thu của tôi chậm lắm! không dưới 1 lần tôi thừa nhận học EX theo "phản xạ có điều kiện"-học không theo 1 trình tự nào cả, chỉ tìm hiểu cái gì mình cần thôi, nên không học ghép vần nhưng lại muốn làm thơ!!!! Không biết bạn có phải là nhà giáo không, nhưng tôi thấy bạn có năng khiếu sư phạm đấy chứ! làm 1 ít, hướng dẫn rồi cho tự làm và đánh giá! nó giống như cách dạy học mới bây giờ đấy!!
- Xin bái phục về cách xử lí của bạn về cách lọc mới. xin phép được sử dụng công thức này và tôi thêm phần thống kê tổng hợp vào nữa là OK rồi!
Đa tạ!!
 

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

Back
Top Bottom