TẠO BẢNG CHẤM CÔNG TỰ ĐỘNG THEO GIỜ TRONG EXCEL SỬ DỤNG PYTHON P1 (GIỚI THIỆU BẢNG CHẤM CÔ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
II.a. Giới thiệu các thành phần của bảng chấm công tự động theo giờ.
II.b. Tạo drop down list cho giá trị tháng và giá trị năm
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 giờ 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 giờ.

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

II.a. Giới thiệu các thành phần của bảng chấm công tự động theo giờ.

Đầu tiên chúng tôi sẽ giới thiệu các thành phần của bảng chấm công tự động hoàn chỉnh mà chúng ta hướng tới. Phía ngoài cùng bên trái là tên của công ty, trong bài học này chúng tôi sử dụng tên công ty là The pyan company, tiếp theo là tên của bảng chấm công tự động. Hai nội dung này các bạn có thể thay đổi tùy theo công việc của các bạn. Hàng thứ hai là các cell chỉ thời gian. Trong đó cell B3 chứa giá trị tháng, cell C3 chứa giá trị năm. Ngay phía dưới là cell B4 là tên của nhân viên, trong bài này chúng tôi lựa chọn tên của nhân viên là Mister Pyan. Tiếp theo tại H3 là thời gian làm việc trong một ngày, trong bài này chúng tôi lựa chọn thời gian làm việc trong một ngày là 8 tiếng. Tiếp đó tại cell H4 là tiền công trả cho một giờ, trong bài này chúng tôi lựa chọn số tiền công là 12 đôla trên một giờ. Hai nội dung này các bạn có thể thay đổi tùy theo công việc của các bạn. Phía dưới như các bạn đã thấy lần lượt từ trái sang phải là các cột ngày trong tháng, ngày trong tuần, thời gian bắt đầu làm việc, thời gian bắt đầu nghỉ, thời gian kết thúc nghỉ, thời gian tan ca. Tiếp theo là tổng số thời gian làm việc trong 1 ngày, số thời gian làm việc bị thiếu và số thời gian làm thêm. Góc trên bên phải là bảng để tính lương bao gồm có tên của nhân viên là Mister Pyan, số tiền được trả tính theo đơn vị đô. rong cell L2 là số tiền lương cơ bản trong tháng. Trong cell L3 là số tiền bị giảm trừ do làm thiếu thời gian. Trong cell L4 là tiền lương làm việc tăng ca sau khi đã làm hết 8 tiếng trong một ngày, số tiền này được nhân hệ số là 1,5. Cuối cùng là cell L5 là tổng số lương mà nhân viên nhận được trong một tháng sau khi đã trừ đi các khoản bị giảm trừ và cộng thêm số tiền làm thêm giờ. Phía dưới là quy định của công ty bao gồm thời gian bắt đầu làm việc là 8 giờ 30 phút, thời gian bắt đầu nghỉ trưa là 12 giờ 30 phút, thời gian kết thúc nghỉ trưa là 13 giờ và thời gian tan ca là 17 giờ. Các thông số trong bảng các bạn có thể thay đổi tùy theo công việc của các bạn. Ở đây chúng tôi đang sử dụng thời gian là tháng 3 năm 2021, chúng tôi sẽ thay đổi thời gian thành tháng 4 năm 2022 và thực thi code, như các bạn đã thấy, toàn bộ dữ liệu trong bảng cũng thay đổi theo một cách tự động.

II.b. Tạo drop down list cho giá trị tháng và giá trị năm

Sau đây chúng ta sẽ tiến hành các bước để tạo một bảng chấm công tự động theo giờ với một bảng chỉ bao gồm các nội dung cơ bản nhất. Đầu tiên, chúng ta sẽ tạo drop down list tại các cell b3 và c3. 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 10 11 12. 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 B3. Các bạn tiến hành xóa các thiết lập Validation cũ trong cell B3 thông qua việc chọn range cell B3, sau đó api, tiếp đến validation và cuối cùng hàm delete. Sau đó, các bạn truyền vào các tham số để tạo drop down list sử dụng validation, bao gồm tham số loại list, tham số cảnh báo và tham số operation. Tiếp đó, các bạn tạo drop down list thông qua hàm sht chấm range B3 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 ô B3 chúng ta đã có 1 list các tháng trong năm. Tương tự, tại ô C3 chúng ta sẽ tạo một drop down list các giá trị năm. Trong bài này, chúng tôi lựa chọn một list các năm lần lượt là 2020, 2021, 2022, 2023, 2024, 2025. Chúng ta đặt tên cho list này là list year. Tùy theo công việc của các bạn mà có thể lựa chọn các giá trị năm sao cho phù hợp. Chúng ta cũng thực hiện các bước giống như tại ô B3, chỉ khác là lần lượt thay thế các giá trị B3 thành C3, thay thế các giá trị list month join thành list year join. Các bạn thực thi code. Như các bạn đã thấy, chúng ta đã có 2 drop down list để chỉ giá trị của 1 tháng cụ thể trong 1 năm cụ thể. Ở đây chúng ta sẽ lựa chọn giá trị tháng 3 năm 2021.

 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 giờ 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 *