Sở giáo dục và đào tạoTrờng THPT hàm rồng Sáng kiến kinh nghiệm Đề tài: “Sử dụng một số hàm Excel áp dụng cho công việc phân công giám thị trong kỳ thi tốt nghiệp THPT” Ngời thực hiện:
Trang 1Sở giáo dục và đào tạo
Trờng THPT hàm rồng
Sáng kiến kinh nghiệm
Đề tài:
“Sử dụng một số hàm Excel áp dụng cho công việc phân công
giám thị trong kỳ thi tốt nghiệp THPT”
Ngời thực hiện: Nguyễn Thợng
Thiên
Tổ: Toán - Tin
Trang 2Đặt vấn đề Trong các công việc của của cấp học THPT thì thi và kiểm tra
đánh giá chất lợng là một trong những hoạt động có thể nói có ý nghĩa rất quan trọng Trong một năm học thờng diễn ra rất nhiều kỳ thi và đặc biệt là kỳ thi quốc gia tốt nghiệp THPT Trong kỳ này th-ờng có nhiều khâu nhng tôi chỉ vận dụng kiến thức bộ môn tin học ứng dụng để thực hiện công việc đó là giúp các th ký của hội đồng thi tốt nghiệp phân công giám thị đợc thuận lợi với những ràng buộc của quy chế thi đó là: trong một hội đồng thi các giám thị khi phân công chỉ đợc gặp nhau một lần, không đợc quay lại phòng cũ, không gặp ngời cùng đơn vị, Sau khi nghiên cứu thực tế công việc tôi có thể vận dụng một số hàm Excel dễ dùng để thực hiện thực hiện công
việc phân công giám thị Vậy tôi viết đề tài SKKN có tên là: “Sử
dụng một số hàm Excel để thực hiện phân công giám thị trong kỳ thi tốt nghiệp THPT”
Giải quyết vấn đề:
Phần 1: Các công việc cần làm
Để thực hiện công việc phân công giám thị trên Excel cần các
b-ớc nh sau:
Bớc 1: Tạo tệp Excel, trong tệp Excel tạo sheet1 có tên: “Danhsach” dùng để ghi danh sách các giám thị trong hội đồng
Bớc 2: Tạo sheet2 có tên: “PCGT” trong sheet này ta dùng hàm Excel mục đích luân chuyển hoán vị các số thứ tự (STT đợc coi là mã duy nhất cho giám thị) cho 6 buổi thi sao cho đúng quy chế thi tốt nghiệp
Bớc 3: Tạo sheet3 có tên là “tinh chỉnh PCGT” mục đích sheet3 này dùng để tinh chỉnh trong những trờng hợp đặc biệt, vì sao ta phải
có bớc tinh chỉnh? bởi vì sau khi phân công một cách hoàn toàn ngẫu nhiên các giám thị cho các buổi thi ngời chịu trách nhiệm phân công lại phát hiện giám thị nào đó lại coi thi phòng có ngời thân trong gia đình, điều này không đợc chấm nhận nên buộc phải điều chỉnh bằng tay để tránh sự kiện ngẫu nhiên đã nêu
Trang 3Trong sheet3 dữ liệu đợc sao chép mình giá trị của ma trận trong bảng phân công của 6 buổi thi từ bên sheet2 và ta có thể
điều chỉnh ngay trong buổi thi tiếp theo Do thay đổi giám thị nên rất có thể mắc phải một số điều chỉnh sẽ sai với quy chế xếp phòng thi đó là giám thị sẽ gặp ngời cùng đơn vị, gặp bạn cũ, gặp phòng cũ, Nên ta phải dùng hàm Excel để phát hiện ra lỗi này Sau khi ổn
định từ những phân công trong tinh chỉnh ta phải hoàn thiện danh sách có đầy đủ tên, đơn vị của các giám thị trong từng buổi thi Bằng cách tạo ra các sheet tiếp theo có tên là buoi1,buoi2, buoi3, buoi4, buoi5, buoi6
rồi ngời sử dụng chỉ quan tâm đén danh sách này, và ta dùng hàm Vlookup để thực hiện
Trang 4STT STT - ĐV - HỌ TÊN STT STT - ĐV - HỌ TÊN PH BUỔI 1 BUỔI 2 BUỔI 3 BUỔI 4 BUỔI 5 BUỔI 6
GT 1 GT 2 GT 1 GT 2 GT 1 GT 2 GT 1 GT 2 GT 1 GT 2 GT 1 GT 2
1 HR - Thái 25 DS2 - Thảo 1 1 25 27 2 3 29 31 4 5 33 35 6
2 HR - Chính 26 DS2 - Huyền 2 2 26 28 3 4 30 32 5 6 34 36 7
3 HR - Hương 27 DS2 - Hiền 3 3 27 29 4 5 31 33 6 7 35 37 8
4 HR - Hà 28 DS2 - Hương 4 4 28 30 5 6 32 34 7 8 36 38 9
5 HR - Trí 29 DS2 - Châu 5 5 29 31 6 7 33 35 8 9 37 39 10
6 HR - Kim Thoa 30 DS2 - Tú 6 6 30 32 7 8 34 36 9 10 38 40 11
7 HR - Phú 31 DS2 - Tâm HL 7 31 33 8 9 35 37 10 11 39 41 12
8 HR - Trinh 32 DS2 - Quy 8 8 32 34 9 10 36 38 11 12 40 42 13
9 HR - Linh 33 DS2 - Linh 9 9 33 35 10 11 37 39 12 13 41 43 14
10 HR - Hoa 34 DS2 - Phụng 10 10 34 36 11 12 38 40 13 14 42 44 15
11 HR - Nga 35 DS2 - Nghị 11 11 35 37 12 13 39 41 14 15 43 45 16
12 HR - Phương 36 DS2 - Phương 12 12 36 38 13 14 40 42 15 16 44 46 17
13 HR - Duyên 37 DS2 - Kim Châu HL 13 37 39 14 15 41 43 16 17 45 47 18
14 HR - Hiệp 38 DS2 - Oanh 14 14 38 40 15 16 42 44 17 18 46 48 19
15 HR -Thủy 39 DS2 - Lê Thị Viễn 15 15 39 41 16 17 43 45 18 19 47 25 20
16 HR - Trước 40 DS2 - Dũng 16 16 40 42 17 18 44 46 19 20 48 26 21
17 HR - Xuân Đào 41 DS2 - Thanh Hải 17 17 41 43 18 19 45 47 20 21 25 27 22
18 HR - Hoa 42 DS2 - Nguyệt HL 18 42 44 19 20 46 48 21 22 26 28 23
19 HR - Hạnh 43 DS2 - Quỳnh Hoa 19 19 43 45 20 21 47 25 22 23 27 29 24
20 HR - Trang 44 DS2 - Hưng 20 20 44 46 21 22 48 26 23 24 28 30 1
21 HR - Chín 45 DS2 - Nga 21 21 45 47 22 23 25 27 24 1 29 31 2
22 HR - Trí 46 DS2 - Thắng 22 22 46 48 23 24 26 28 1 2 30 32 3
23 HR - Quyết 47 DS2 - Đông 23 23 47 25 24 1 27 29 2 3 31 33 4
24 HR - Tiên 48 DS2 - Châu 24 24 48 26 1 2 28 30 3 4 32 34 5
(H×nh 1)
Trang 5Phần 2: Các hàm cụ thể cho phần 1.
A Xử lý phân phòng tránh gặp ngời cùng đơn vị
• Trong Sheet2 để tránh 2 GT cùng đơn vị trong cùng một phòng ngời ta thờng tách danh sách ra làm 2 cột nh trong (hình1) Nhìn vào trong bảng phân công ta thấy các STT của danh sách luôn đảo đi đảo lại ở 2 vị trí GT1(giám thị 1), GT2 (giám thị 2) trong các buổi cho nên một giám thị có thể tơng đối công bằng
là số buổi GT1, GT2 bằng nhau
• Ta sẽ thấy công thức phân công tự động cho 2 cột GT1, GT2 ở 6 buổi nh sau:
GT 1 GT 2 GT 1 GT 2 GT 1 GT 2 GT 1 GT 2 GT 1 GT 2 GT 1 GT 2
1 1 25 27 2 3 29 31 4 5 33 35 6
2 2 26 28 3 4 30 32 5 6 34 36 7
3 3 27 29 4 5 31 33 6 7 35 37 8
4 4 28 30 5 6 32 34 7 8 36 38 9
5 5 29 31 6 7 33 35 8 9 37 39 10
6 6 30 32 7 8 34 36 9 10 38 40 11
8 8 32 34 9 10 36 38 11 12 40 42 13
9 9 33 35 10 11 37 39 12 13 41 43 14
10 10 34 36 11 12 38 40 13 14 42 44 15
11 11 35 37 12 13 39 41 14 15 43 45 16
12 12 36 38 13 14 40 42 15 16 44 46 17
14 14 38 40 15 16 42 44 17 18 46 48 19
15 15 39 41 16 17 43 45 18 19 47 25 20
16 16 40 42 17 18 44 46 19 20 48 26 21
17 17 41 43 18 19 45 47 20 21 25 27 22
19 19 43 45 20 21 47 25 22 23 27 29 24
20 20 44 46 21 22 48 26 23 24 28 30 1
21 21 45 47 22 23 25 27 24 1 29 31 2
22 22 46 48 23 24 26 28 1 2 30 32 3
23 23 47 25 24 1 27 29 2 3 31 33 4
24 24 48 26 1 2 28 30 3 4 32 34 5
(Hinh2)
Công thức cho cột GT1 Buổi 1:
Trang 6=INDEX($A$3:$A$26,1+MOD(COUNTA($A$3:$A3)+G$1-2,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT2 Buæi 1:
=INDEX($C$3:$C$26,1+MOD(COUNTA($A$3:$A3)+2*G$1-3,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT1 Buæi 2:
=INDEX($C$3:$C$26,1+MOD(COUNTA($A$3:$A3)+2*I$1-3,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT2 Buæi 2 :
=INDEX($A$3:$A$26,1+MOD(COUNTA($A$3:$A3)+I$1-2,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT1 Buæi 3:
=INDEX($A$3:$A$26,1+MOD(COUNTA($A$3:$A3)+K$1-2,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT2 Buæi 3:
=INDEX($C$3:$C$26,1+MOD(COUNTA($A$3:$A3)+2*K$1-3,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT1 Buæi 4:
=INDEX($C$3:$C$26,1+MOD(COUNTA($A$3:$A3)+2*M$1-3,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT2 Buæi 4:
=INDEX($A$3:$A$26,1+MOD(COUNTA($A$3:$A3)+M$1-2,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT1 Buæi 5:
=INDEX($A$3:$A$26,1+MOD(COUNTA($A$3:$A3)+O$1-2,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT2 Buæi 5:
=INDEX($C$3:$C$26,1+MOD(COUNTA($A$3:$A3)+2*O$1-3,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT1 Buæi 6:
=INDEX($C$3:$C$26,1+MOD(COUNTA($A$3:$A3)+2*Q$1-3,COUNTA($A$3:$A$26)),0)
C«ng thøc cho cét GT2 Buæi 6:
=
INDEX($A$3:$A$26,1+MOD(COUNTA($A$3:$A3)+Q$1-2,COUNTA($A$3:$A$26)),0)
ý nghÜa c«ng thøc:
=INDEX(“Vïng tham chiÕu”,row_num,column_num,area_num)
row_num chỉ số dòng cần trả về tham chiếu
column_num chỉ số cột cần trả về tham chiếu.
area_num thứ tự dãy tham chiếu cần trả về tham chiếu.
NÕu column_num =0 Th× ta chØ ®i t×m kiÕm trong m¶ng Trong vÝ dô trªn
Vïng $A$3:$A$26 chøa STT1 tõ 1->24 nh h×nh vÏ (H×nh 1) Vïng $C$3:$C$26 chøa STT2 tõ 25->48 nh h×nh vÏ (H×nh 1)
Trang 7Do column_num =0 trong các công thức trên nên chính xác nh chúng ta
đang dò tìm các giá trị trong mảng bởi row_num thay đổi mà trong các công thứ trên đó là
Cột GT1: row_num = 1+MOD(COUNTA($A$3:$A3)+G$1-2,COUNTA($A$3:$A$26))
Cột GT2: row_num =
1+MOD(COUNTA($A$3:$A3)+2*G$1-3,COUNTA($A$3:$A$26))
Giải thích: giá trị hàng của phần tử hiện thời = 1 +
MOD(COUNTA($A$3:$A3)+G$1-2,COUNTA($A$3:$A$26))
MOD là phép chia lấy d
Số chia là: COUNTA($A$3:$A$26) – Số phần tử đếm đợc trong vùng chứa STT 1
Số bị chia là: COUNTA($A$3:$A3)+G$1-2 ;Số đếm đợc từ đầu mảng
đến ô hiện thời trong mảng cộng với giá trị nằm trong ô G$1 trừ đi 2 (G$1 trong công thức trên chứa số 1 nghĩa là buổi 1, các buổi sau sẽ là: 2,3,4,5,6)
Trong giá trị cột GT2 row_num =
1+MOD(COUNTA($A$3:$A3)+2*G$1-3,COUNTA($A$3:$A$26))
MOD là phép chia lấy d
Số chia là: COUNTA($A$3:$A$26) – Số phần tử đếm đợc trong vùng chứa STT 1
Số bị chia là: COUNTA($A$3:$A3)+2*G$1-3 ;
Với 2 công thức này sẽ luân phiên phân bổ dịch chuyển các STT của
2 danh sách (hình 1) cho các cột GT1, GT2 của các các phòng trong từng buổi
B Giải quyết quá trình tinh chỉnh gặp lại phòng cũ
Bên cạnh ma trận phân công giám thị ở sheet2 “Tinh chinh PCGT” tạo ma trận khác có tên “kiểm tra gặp phòng cũ” để phát hiện việc có gặp lại phòng cũ hay không Ta sử dụng công thức để kiểm tra giá trị trong hàng đó so với phần tử hiện thời có lớn hơn 1 hay không, nếu băng 1 thì không gặp lại phòng cũ, còn lớn hơn 1 thì gặp lại phòng cũ yêu cầu tinh chỉnh lại
Công thức nh sau: =COUNTIF($G3:$R3,G3)
- $G3:$R3 vùng chứa STT theo hàng ngang cho phòng 1 trong hình vẽ (Hình 2)
- G3 giá trị hiện thời
Trang 8Sau khi thiết lập công thức sao chép toàn bộ ma trận “kiểm tra gặp phòng cũ” nếu các phần tử trong ma trận lớn hơn 1 thì kiểm tra việc phân công giám thị tại phòng đó
Có thể thêm công thức
=IF(OR(S3>1,T3>1,U3>1,V3>1,W3>1,X3>1,Y3>1,Z3>1,AA3>1,AB3>1,AC3>1,A D3>1),"*","")
vào 1 cột cuối của ma trận này rồi ẩn toàn bộ ma trận “kiêm tra găp phòng cũ” cho gọn
C Giải quyết quá trình tinh chỉnh gặp bạn cũ
Tạo ma trận kiểm tra thứ 2 có tên “Kiểm tra gặp phòng cũ”
Tạo một ma trận ghép chuỗi STT và biến đổi thành số từ ma trận phân công (tạm gọi là ma trận biến đổi) rồi dùng ma trận kiểm tra
rà soát lại ma trận biến đổi ta sử dụng 2 công thức sau:
* Công thức chuyển t ma trận phân công sang ma trận biến đổi:
=IF(LEN(TRIM(G3&H3))=0,0,VALUE(IF(G3<H3,G3&H3,H3&G3)))
* Công thức chuyển t ma trận biến đổi sang ma trận kiểm tra: (Xem hình 4)
=IF(AF3=0,0,COUNTIF($AF$3:$AK$1000,AF3))
ý nghĩa:
Nếu phần tử hiện thời AF3=0, thì giá trị là 0
Nếu khác 0 thì đi đếm có điều kiện vùng $AF$3:$AK$1000 xem có bao nhiêu phần tử giống với phần tử hiện thời
->(COUNTIF($AF$3:$AK$1000,AF3))
Nếu giá trị ma trận chỗ nào lớn hơn 1 thì kiểm tra lại sẽ là tình
huống gặp lại bạn cũ
Trang 9BUỔI 1 BUỔI 2 BUỔI 3 BUỔI 4 BUỔI 5 BUỔI 6 BUỔI 1 BUỔI 2 BUỔI 3 BUỔI 4 BUỔI 5 BUỔI 6 Gặp
lại phòng cũ
GT
1
GT
2
GT 1
GT 2
GT 1
GT 2
GT 1
GT 2
GT 1
GT 2
GT 1
GT
2 GT 1
GT 2
GT 1
GT 2
GT 1
GT 2
GT 1
GT 2
GT 1
GT 2
GT
1 GT 2
1 1 25 27 2 3 29 31 4 5 33 35 6 1 1 1 1 1 1 1 1 1 1 1 1
2 2 26 28 3 4 30 32 5 6 34 36 7 1 1 1 1 1 1 1 1 1 1 1 1
3 3 27 29 4 5 31 33 6 7 35 37 8 1 1 1 1 1 1 1 1 1 1 1 1
4 4 28 30 5 6 32 34 7 8 36 38 9 1 1 1 1 1 1 1 1 1 1 1 1
HL 5 29 31 6 7 33 35 8 9 37 39 10 1 1 1 1 1 1 1 1 1 1 1 1
5 6 30 32 7 8 34 36 9 10 38 40 11 1 1 1 1 1 1 1 1 1 1 1 1
6 7 31 33 8 9 35 37 10 11 39 41 12 1 1 1 1 1 1 1 1 1 1 1 1
7 8 32 34 9 10 36 38 11 12 40 42 13 1 1 1 1 1 1 1 1 1 1 1 1
8 9 33 35 10 11 37 39 12 13 41 43 14 1 1 1 1 1 1 1 1 1 1 1 1
9 11 35 37 12 13 39 41 14 15 43 45 16 1 1 1 1 1 1 1 1 1 1 1 1
10 12 36 38 13 14 40 42 15 16 44 46 17 1 1 1 1 1 1 1 1 1 1 1 1
11 13 37 39 14 15 41 43 16 17 45 47 18 1 1 1 1 1 1 1 1 1 1 1 1
12 14 38 40 15 16 42 44 17 18 46 48 19 1 1 1 1 1 1 1 1 1 1 1 1
13 16 40 42 17 18 44 46 19 20 48 26 21 1 1 1 1 1 1 1 1 1 1 1 1
14 17 41 43 18 19 45 47 20 21 25 27 22 1 1 1 1 1 1 1 1 1 1 1 1
15 18 42 44 19 20 46 48 21 22 26 28 23 1 1 1 1 1 1 1 1 1 1 1 1
16 19 43 45 20 21 47 25 22 23 27 29 24 1 1 1 1 1 1 1 1 1 1 1 1
17 21 45 47 22 23 25 27 24 1 29 31 2 1 1 1 1 1 1 1 1 1 1 1 1
18 22 46 48 23 24 26 28 1 2 30 32 3 1 1 1 1 1 1 1 1 1 1 1 1
19 23 47 25 24 1 27 29 2 3 31 33 4 1 1 1 1 1 1 1 1 1 1 1 1
20 24 48 26 1 2 28 30 3 4 32 34 5 1 1 1 1 1 1 1 1 1 1 1 1
(H×nh 3: ma trËn gÆp phßng cò)
Trang 101 Buoi 2 Buoi 3 Buoi 4 Buoi 5 Buoi 6 Buổi 1 Buổi 2 Buổi 3 Buổi 4 Buổi 5 Buổi 6
Gặp lại bạn cũ
226 328 430 532 634 736 1 1 1 1 1 1
327 429 531 633 735 837 1 1 1 1 1 1
428 530 632 734 836 938 1 1 1 1 1 1
529 631 733 835 937 1039 1 1 1 1 1 1
630 732 834 936 1038 1140 1 1 1 1 1 1
731 833 935 1037 1139 1241 1 1 1 1 1 1
832 934 1036 1138 1240 1342 1 1 1 1 1 1
933 1035 1137 1239 1341 1443 1 1 1 1 1 1
1034 1136 1238 1340 1442 1544 1 1 1 1 1 1
1135 1237 1339 1441 1543 1645 1 1 1 1 1 1
1236 1338 1440 1542 1644 1746 1 1 1 1 1 1
1337 1439 1541 1643 1745 1847 1 1 1 1 1 1
1438 1540 1642 1744 1846 1948 1 1 1 1 1 1
1539 1641 1743 1845 1947 2025 1 1 1 1 1 1
1640 1742 1844 1946 2048 2126 1 1 1 1 1 1
1741 1843 1945 2047 2125 2227 1 1 1 1 1 1
1842 1944 2046 2148 2226 2328 1 1 1 1 1 1
1943 2045 2147 2225 2327 2429 1 1 1 1 1 1
2044 2146 2248 2326 2428 130 1 1 1 1 1 1
2145 2247 2325 2427 129 231 1 1 1 1 1 1
2246 2348 2426 128 230 332 1 1 1 1 1 1
2347 2425 127 229 331 433 1 1 1 1 1 1
2448 126 228 330 432 534 1 1 1 1 1 1
(H×nh 4: ma trËn kiÓm tra gÆp b¹n cò)
Trang 11Kết thúc vấn đề
Do thời gian có hạn nên SKKN chỉ dừng lại đây, và chỉ đa ra các công thức cơ bản nhất là cơ sở cho việc thiết lập tệp tin Excel, còn nhiều những chi tiết khác tôi không trình bày ở đây mà chỉ thể hiện trong tệp tin Excel phục vụ cho ngời hoạt động tác nghiệp, rất mong đợc mọi ngời đóng góp ý kiến phát triển và hoàn thiện SKKN để trở thành tài liệu có thể dùng đợc,
Xin chân thành cảm ơn!