HIGHLIGHT 5 GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT, SO SÁNH GIÁ TRỊ HAI CỘT TRONG EXCEL SỬ DỤNG PYTHON (CONDITIONAL FORMATTING PART 3)

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. Highlight 5 ô có giá trị lớn nhất
II.b. Highlight 5 ô có giá trị nhỏ nhất
II.c. So sánh giá trị của 2 cột excel
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:

Có 1 bảng dữ liệu với vùng excel thể hiện thông tin của các thành viên trong công ty (nội dung như trong hình ở dưới)

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

Sử dụng lập trình Python để thực hiện HIGHLIGHT ô excel trong các điều kiện:

Trường hợp 1: Highlight 5 ô có giá trị nhỏ nhất

Trường hợp 2: Highlight 5 ô có giá trị lớn nhất

Trường hợp 3: So sánh giá trị của 2 cột excel.

 

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

Bảng dữ liệu thu được sau khi code cho trường hợp thứ 1

Bảng dữ liệu thu được sau khi code cho trường hợp thứ 2

Bảng dữ liệu thu được sau khi code cho trường hợp thứ 3

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

II.a. Highlight 5 ô có giá trị nhỏ nhất.

Đầu tiên, chúng tôi sẽ hướng dẫn các bạn fill color 5 giá trị nhỏ nhất trong cột F. Trước hết, các bạn khai báo biến list F là một list các phần tử từ ô F2 đến ô F13. Các bạn sử dụng hàm sort để sắp xếp lại list này theo thứ tự từ nhỏ tới lớn. Chúng ta sử dụng hàm print in ra kết quả hàm list F. Như các bạn đã thấy, các phần tử trong list đã được sắp xếp từ nhỏ tới lớn. Bây giờ, nếu muốn lọc ra 5 giá trị nhỏ nhất từ dưới lên, các bạn khai báo biến list bottom 5 là một danh sách gồm 5 giá trị nhỏ nhất, thông qua phương thức slicing, bằng cách các bạn thêm vào trong ngoặc vuông tham số từ 0 đến 5 để lọc 5 phần tử đầu tiên trong list. Các bạn dùng hàm print cho list bottom 5 để kiểm tra, kết quả là 5 phần tử nhỏ nhất đã được lọc ra. Bây giờ các bạn sẽ dùng vòng lặp while với biến j để duyệt hết các phần tử có trong list bottom 5. Bên trong vòng lặp while các bạn dùng vòng lặp for với biến i để duyệt hết các giá trị của các cell từ f 2 đến f 13, bên trong vòng lặp for chúng ta sử dụng hàm điều kiện if để kiểm tra xem các giá trị của các ô thuộc cột F có trùng lặp với các giá trị trong list bottom 5 hay không. Nếu có thì sẽ fill color giá trị đó thành màu xanh dương có mã RGB là 0, 255, 255. Tiếp theo, chúng ta cho biến j tăng 1 đơn vị để duyệt tiếp phần tử tiếp theo trong danh sách list bottom 5. Các bạn thực thi code, kết quả là 5 giá trị nhỏ nhất trong cột F đã được chuyển sang màu xanh dương. 

II.b. Highlight 5 ô có giá trị lớn nhất.

Bây giờ, nếu chúng ta muốn tìm 5 giá trị lớn nhất thì phải làm thế nào. Trở lại với hàm list F sort. Các bạn thêm vào hàm sort tham số reserve bằng True thì list danh sách sẽ sắp xếp lại từ giá trị lớn nhất tới nhỏ nhất. Các bạn thay thế list bottom 5 bằng list top 5 trong công thức chúng ta vừa sử dụng. Ở đây, chúng tôi sẽ thay thế màu xanh dương bằng màu hồng có mã RGB là 255, 0, 255 để các bạn dễ theo dõi. Các bạn thực thi code, kết quả là 5 giá trị lớn nhất trong cột F đã chuyển sang màu hồng. Tương tự, các bạn có thể dùng cách thức trên để tìm 10 giá trị lớn nhất, 10 giá trị nhỏ nhất hoặc một số đếm khác tùy theo các bạn lựa chọn.

II.c. So sánh giá trị 2 cột excel

Tiếp theo, chúng tôi sẽ hướng dẫn các bạn tạo một bảng so sánh hai giá trị để xem chúng tăng hay giảm. Như các bạn đã thấy trong file excel ví dụ, có các cột Number before và number after. Bây giờ chúng ta so sánh xem với mỗi 1 hàng thì các giá trị trong cột number after tăng hay giảm so với giá trị trong cột before. Trong bài học này, chúng ta sẽ sử dụng font chữ Winding 3 để biến các ký tự p q và t u thành các ký hiệu tăng, giảm hoặc không đổi. Trong vòng lặp for với biến I chạy từ dòng 17 đến 21. Các bạn khai báo biến number before là giá trị các cell trong cột A, biến number after là giá trị các cell trong cột B. Chúng ta sử dụng hàm điều kiện If để kiểm tra xem trong cùng một hàng thì giá trị của các cell trong cột number after có lớn hơn giá trị của các cell trong cột number before hay không. Nếu đúng thì sẽ điền vào cell tương ứng ở cột C giá trị là p. Tương tự, chúng ta sử dụng hàm If để kiểm tra xem trong cùng một hàng thì giá trị của các cell trong cột number after có nhỏ hơn giá trị của các cell trong cột number before hay không. Nếu đúng thì sẽ điền vào cell tương ứng ở cột C giá trị là q. Sau đó, chúng ta tiếp tục dùng hàm If để kiểm tra xem trong cùng một hàng thì giá trị của các cell trong cột number after có bằng với giá trị của các cell trong cột number before hay không. Nếu đúng thì sẽ điền vào cell tương ứng ở cột C giá trị là t u. Tiếp theo, chúng ta sử dụng hàm Font Name để chuyển toàn bộ giá trị các cell C17 đến C21 về font chữ Wingdings 3. Chúng ta thực thi code, kết quả là tại cột C đã hiển thị các ký hiệu so sánh giá trị của hai cột number after và number before.

III. KẾT LUẬN

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

Trong bài học này, chúng tôi sẽ hướng dẫn các bạn các cách định dạng có điều kiện một số nội dung trong một vùng dữ liệu, để nhằm mục đích xác định các dữ liệu quan trọng một cách nhanh chóng.

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

Trong quá trình sử dụng, ta phải áp dụng bảng màu RGB. Do đó, ta cần note lại những màu mà ta muốn sử dụng để có thể áp dụng vào code khi cần.

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 *