TẠO BẢNG CHẤM CÔNG TỰ ĐỘNG THEO NGÀY, THÁNG, NĂM TRONG EXCEL SỬ DỤNG PYTHON P2 (TẠO DANH SÁCH THÁNG)

CÁC NỘI DUNG CHÍNH
I. YÊU CẦU ĐẦU VÀO
1. CHUẨN BỊ NỘI DUNG
2. YÊU CẦU KIẾN THỨC
3. ĐỀ BÀI VÀ YÊU CẦU ĐẶT RA
II. CÁC BƯỚC THỰC HIỆN
Giới thiệu sheet Data và sheet M1
III. KẾT LUẬN
1. Trường hợp vận dụng 
2. Ưu điểm
3. Nhược điểm

I. YÊU CẦU ĐẦU VÀO

1. CHUẨN BỊ NỘI DUNG

Để bắt đầu bài học, các bạn cần có ít nhất 01 máy tính để bàn hoặc laptop, trong đó đã cài đặt:

a. Python

b. Visual Studio Code

c. Microsoft Excel từ 2007 trở lên để tối ưu việc lập trình bằng python.

d. Teamviewer hoặc Ultraviewer để được các giảng viên và trợ giảng của trang web Pyan.vn hỗ trợ 24/7 nếu các bạn bị vướng mắc trong quá trình code.

2. YÊU CẦU KIẾN THỨC

Đối với bài học này, các bạn cần nẵm vững các kiến thức sau:

a. Cách sử dụng vòng lặp FOR

b. Cách sử dụng hàm điều kiện IF

c. Cách sử dụng vòng lặp WHILE

d. Nếu chưa nắm vững kiến thức, các bạn có thể trao đổi thêm với các giảng viên và trợ giảng của trang web Pyan.vn để được hỗ trợ.

3. ĐỀ BÀI VÀ YÊU CẦU ĐẶT RA

a. Đề bài:

Tạo một bảng chấm công tự động theo ngày, tháng, năm trong excel sử dụng python.

b. Yêu cầu đặt ra:

Lần lượt xây dựng từng thành phần của bảng chấm công bằng code. Cuối cùng chỉ cần 1 click chuột là ta có 1 bảng chấm công tự động theo ngày, tháng, năm.

Bảng dữ liệu ban đầu:

Bảng dữ liệu thu được sau khi code hoàn chỉnh

II. CÁC BƯỚC THỰC HIỆN

Giới thiệu sheet Data và sheet M1

Đầu tiên chúng ta import thư viện xlwings và gọi nó như 1 biến là xw. Các bạn lần lượt khai báo biến wb là workbook hiện hành. Như các bạn đã thấy, trong file excel mẫu của chúng ta hiện tại là 1 file excel trắng. Lần lượt các sheet1, sheet2, sheet3 có index tương ứng là 0, 1, 2. Chúng ta sẽ tiến hành đặt lại tên cho sheet1 và sheet 2. Các bạn lần lượt sử dụng hàm name để đặt lại tên cho sheet1 có index là 0 thành Data, đặt lại tên cho sheet2 có index là 1 thành M1. Các bạn thực thi code. Kết quả ra là sheet1 và sheet2 đã đổi tên thành Data và M1.

Tiếp theo, trong sheet Data và M1, chúng tôi đã chuẩn bị cho các bạn các nội dung cơ bản nhất của mỗi sheet. Đối với sheet Data là sheet chứa các thông tin  về tên công ty, tên phòng ban, tên bảng data, năm thực hiện và các thông tin cơ bản của nhân viên mà chúng tôi đã trình bày trong bài học trước. Đối với sheet M1 tương ứng với tháng 1 trong năm 2021, trong sheet này chỉ bao gồm tên công ty, tên bảng chấm công và các ký hiệu được chúng ta quy ước. Chúng tôi không kẻ border cho bảng chấm công này vì chúng ta sẽ xây dựng 1 border tự động thay đổi mỗi khi chúng ta thêm các nhân viên mới vào trong bảng chấm công. Tiếp đó, các bạn khai báo biến sht là sheet hiện hành. Các bạn lưu ý là biến sht này chúng ta chỉ dùng cho các tháng trong năm. Riêng đối với sheet data, để phục vụ mục đích trích xuất dữ liệu thì chúng ta tiến hành khai báo 1 biến riêng cho sheet này là sht data là sheet có index bằng 0. Bây giờ, tại cell R6 trong sheet M1, chúng ta sẽ tạo 1 drop down list chứa các giá trị tháng cho cell này. Trước hết, trong thư viện xlwings, các bạn import package constants. Tiếp theo, các bạn khai báo biến list month là một list các giá trị lần lượt là 1 2 3 4 5 6 7 8 9 mười mười một mười hai tương ứng với 12 tháng trong năm.  Tiếp đó, chúng ta dùng hàm Map để chuyển từng phần tử trong list month về định dạng string. Sau đó, chúng ta dùng hàm join để nối các string này về thành một chuỗi và mỗi phần tử cách nhau bởi dấu phẩy. Ta đặt tên cho chuỗi này là list month join. Tiếp theo, các bạn đặt drop down list này vào trong Cell R6. Các bạn tiến hành xóa các thiết lập Validation cũ trong cell R6 thông qua việc chọn range cell R6, sau đó api, tiếp đến validation và cuối cùng hàm delete. Tiếp đó, các bạn tạo drop down list thông qua hàm sht chấm range R6 chấm api chấm Validation chấm Add. Trong hàm Add chúng ta truyền vào 4 tham số. Giá trị của tham số loại list là 3, giá trị của tham số cảnh báo là 1, giá trị của tham số operation là 3, tham số cuối cùng là chuỗi list month join thông qua phương thức format f. Các bạn tiến hành thực thi code.  Kết quả là tại cell R6 chúng ta đã có 1 list các tháng trong năm.

III. KẾT LUẬN

1. Trường hợp vận dụng

Sử dụng bảng chấm công tự động theo ngày, tháng, năm nhằm mục đích quản lý nhân sự – hành chính.

2. Ưu điểm

Sau khi đã xây dựng công thức xong thì ta chỉ cần thay các giá trị tham số mà ta dùng để so sánh như trong bài học là có thể áp dụng được.

3. Nhược điểm

Số lượng code tương đối nhiều, đối với người mới học có thể phát sinh lỗi trong quá trình code, yêu cầu sự kiên trì, tỉ mỉ.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *