TẠO BẢNG CHẤM CÔNG TỰ ĐỘNG THEO GIỜ TRONG EXCEL SỬ DỤNG PYTHON P4 (TẠO CỘT C,D,E,F MỐC THỜI GIAN)

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
Lập danh sách tự động cho cột C, D, E
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

Lập danh sách tự động cho cột C, D, E.

Trong bài học hôm nay, chúng tôi sẽ tiếp tục hướng dẫn các bạn cách tạo danh sách tự động cho các cột C, D, E lần lượt là các cột thời gian bắt đầu vào làm việc, thời gian bắt đầu nghỉ trưa và thời gian kết thúc nghỉ trưa. Trong bài này, chúng tôi giả định nhân viên Mr Pyan làm việc 5 ngày trong 1 tuần từ thứ 2 đến thứ 6, được nghỉ vào hai ngày thứ 7 và chủ nhật.  Trở lại bài học hôm nay, trong cột C là thời gian bắt đầu vào làm. Chúng ta cùng xem lại quy định của công ty, theo đó trong ô K8 là giờ bắt đầu vào làm việc là 8 giờ 30 phút, nếu bạn có đến sớm hơn thời gian này cũng không được cộng thêm tiền lương, ngược lại nếu bạn đến muộn hơn thì sẽ bị phạt. Trong bài này, chúng tôi giả định là nhân viên Mr Pyan luôn làm việc đúng giờ, như vậy chúng ta sẽ điền vào cột C các giá trị là 8 giờ 30 phút. Tùy theo tình hình công việc của các bạn mà các bạn nhập thời gian vào cột này sao cho phù hợp. Đối với các cell trong cột D và E là hai thời gian mang tính chất cố định, chúng ta sẽ điền vào hai cột này thời gian theo đúng quy định của công ty là các giá trị trong cell K9 và K10. Các bạn sử dụng vòng lặp while với biến j bằng 6, j nhỏ hơn 37. Trong vòng lặp while, các bạn sử dụng hàm điều kiện If để kiểm tra xem nếu giá trị của các cell trong cột B là 7 hoặc giá trị của các cell trong cột B bằng Sun thì chúng ta sẽ gán cho giá trị của cell trong cột C bằng rỗng. Nếu không thì ta dùng hàm điều kiện else để gán cho giá trị của cell trong cột C bằng. Như trong các bài học trước, chúng ta sẽ thử công thức trên excel trước. 

Tại ô C6, chúng ta dùng hàm If để kiểm tra xem giá trị của ô B6 có phải là rỗng hay không, nếu đúng thì sẽ trả ra kết quả rỗng, nếu không thì sẽ trả ra kết quả là ô K8. Các bạn bấm enter. Tại cell C6 đã trả ra kết quả là 8 giờ 30 phút. Các bạn copy công thức vào trong script python. Tiếp theo, các bạn sử dụng phương thức format f để lần lượt thay thế tất cả các giá trị 6 trong công thức bằng biến j. Đối với cột D, E cũng tương tự nên chúng ta sẽ lồng các giá trị của các cell trong cột D và cột E vào trong hàm. Trong hàm If chúng ta sẽ gán giá trị lần lượt cho cell trong cột D và cột E là giá trị rỗng. Trong hàm else, các cell trong cột D sẽ được gán giá trị là bằng ô K9, các cell trong cột E sẽ được gán giá trị là bằng ô K10. Các bạn cho biến j tăng thêm 1 phần tử để lần lượt duyệt hết các phần tử trong cột C, D, E. Các bạn thực thi code. Như các bạn đã thấy, toàn bộ giá trị của các cell từ thứ 2 đến thứ 6 trong các cột C, D, E đã được lấp đầy. Đối với các ngày 29, 30, 31 của tháng là giá trị rỗng nên các cột C, D, E cũng trả ra kết quả rỗng. Chúng ta sẽ thử thay thế thời gian từ tháng 2 năm 2021 sang tháng 5 năm 2022 để kiểm tra xem bảng chấm công có thay đổi theo không. Các bạn thực thi code. Kết quả là toàn bộ giá trị trong bảng chấm công cũng thay đổi theo và các cột C, D, E cũng được lấp đầy. Riêng đối với các cell trong cột F là giá trị mà các bạn sẽ nhập tùy theo tình hình thực tế. Trong bài này, chúng tôi giả định Mr Pyan sẽ có ngày về đúng giờ, có ngày về muộn hơn 1 giờ để làm thêm và có ngày về sớm hơn 30 phút. Chúng tôi sẽ lấp đầy cột F với giả định này. Như vậy trong bài này chúng ta đã hướng dẫn các bạn lập danh sách tự động cho các cột C, D, E và giả định giá trị cho cột F. Tùy theo tình hình thực tế mà các bạn thay đổi sao cho phù hợp. Phần bài học này đến đây là kết thúc.

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 *