TÌM NHÀ SẢN XUẤT THEO BILL OF MATERIAL CHO MUA HÀNG P4 (HOÀN THIỆN CÁC SHEET NHÀ SẢN XUẤT)

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.Thiết lập thông tin nhà sản xuất P2
II.b. Căn chỉnh định dạng cho sheet nhà sản xuất
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:

Cho 1 bảng Bill of Material như hình ở dưới.

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

Phân tách bảng dữ liệu tổng hợp Bill of Material thành các sheet dữ liệu cụ thể của từng nhà sản xuất.

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. Thiết lập thông tin nhà sản xuất P2

Trong bài học ngày hôm nay, chúng tôi sẽ tiếp tục hướng dẫn các bạn cách để phân tách bảng dữ liệu tổng thành các dữ liệu cụ thể của từng nhà sản xuất. Chúng tôi đã chuẩn bị sẵn template script Python và file excel mẫu để các bạn thực hành. Tiếp theo phần bài học trước, trong phần này, chúng ta sẽ xây dựng công thức cho các cột còn lại, lần lượt là cột E, F, G trong các sheet thành phần của các công ty sản xuất. Đầu tiên, ta khai báo biến unit detail là một list. Ta sẽ xây dựng công thức trong file excel trước, sau đó chỉnh sửa lại trong script Python. Tại cột E của nhà sản xuất, ta sử dụng công thức V lookup. Tham số đầu tiên là giá trị dùng để dò tìm, ta sẽ điền là cell D2. Tham số tiếp theo là table array là bảng chứa giá trị cần dò tìm, ta sẽ điền là sheet Data, range dữ liệu từ cell D14 đến E60, các bạn cố định vùng range này lại. Tham số tiếp theo là thứ tự cột chứa giá trị dò tìm trên table array,ta sẽ điền giá trị là 2. Cuối cùng, ta điền tham số là 0 để dò tìm tuyệt đối. Các bạn kết thúc công thức bằng dấu ngoặc đơn và bấm enter. Kết quả trả ra trong file excel là giá trị unit tương ứng với giá trị ordering code của các nhà sản xuất.. Ta có thể kiểm tra lại thông tin này trong sheet Data. Tiếp đó, ta copy công thức này vào script python và chỉnh sửa lại. Các bạn sử dụng phương thức format f để thay thế các giá trị 60 bằng last row, giá trị D2 thành D I cộng 1. Kết thúc công thức các bạn sử dụng vòng lặp for với biến I trong range of order code. Sau đó, ta gán cho cell E2 của các sheet của nhà sản xuất có giá trị bằng unit detail. Các bạn thực thi code, kết quả trả ra là toàn bộ các sheet của nhà sản xuất đã được điền vào nội dung trong cột unit. Hoàn toàn tương tự, đối với cột Note, ta khai báo biến note list sử dụng hàm vlookup như trong cột unit. Các bạn copy công thức mà ta đã sử dụng đối với biến unit detail . Ta chỉ thay đổi vùng range của table array từ cột E sang cột G, đồng thời thay đổi thứ tự cột chứa giá trị dò tìm từ 2 sang 4 để định vị lại vị trí cột. Ta cũng gán cho cell G2 của các sheet của nhà sản xuất có giá trị bằng note list. Các bạn thực thi code, kết quả trả ra là toàn bộ các sheet của nhà sản xuất đã được điền vào nội dung trong cột note. 

Cuối cùng, ta sẽ xây dựng công thức cho cột Quantity. Khác với các cột khác, ta sẽ sử dụng hàm sumif để tính tổng các giá trị trùng lặp nhau tương ứng với giá trị trong cột ordering code. Trước hết, ta khai báo biến quantity list là một list. Ta sẽ xây dựng công thức trong file excel trước, sau đó chỉnh sửa lại trong script Python. Tại cột F của nhà sản xuất, ta sử dụng công thức Sumif. Tham số đầu tiên là range dùng để đánh giá tiêu chí, ta sẽ điền là sheet Data, range từ cell D15 đến cell D60, các bạn cố định vùng range này lại. Tham số tiếp theo là tiêu chí, ta sẽ điền là cell D2. Tham số cuối cùng là sum range, ta sẽ điền giá trị là sheet Data, range từ cell F15 đến cell F60. Các bạn cố định vùng range này lại. Các bạn kết thúc công thức bằng dấu ngoặc đơn và bấm enter. Kết quả trả ra trong file excel là giá trị quantity tương ứng với giá trị ordering code của các nhà sản xuất.. Ta có thể kiểm tra lại thông tin này trong sheet Data. Tiếp đó, ta copy công thức này vào script python và chỉnh sửa lại. Các bạn sử dụng phương thức format f để thay thế các giá trị 60 bằng last row, giá trị D2 thành D I cộng 1. Kết thúc công thức các bạn sử dụng vòng lặp for với biến I trong range of order code. Sau đó, ta gán cho cell E2 của các sheet của nhà sản xuất có giá trị bằng quantity list. Các bạn thực thi code, kết quả trả ra là toàn bộ các sheet của nhà sản xuất đã được điền vào nội dung trong cột quantity. 

II.b. Căn chỉnh định dạng cho sheet của nhà sản xuất

Như vậy, chúng ta đã xây dựng xong công thức để phân tách bảng dữ liệu tổng thành các dữ liệu cụ thể của từng nhà sản xuất. Bây giờ, chúng tôi sẽ hướng dẫn các bạn căn chỉnh lại định dạng các sheet của nhà sản xuất. Ta tô đậm các tiêu đề bằng công thức api chấm Font chấm Bold bằng True cho range từ A1 đến G1 của các sheet của nhà sản xuất. Ta chuyển font chữ trong các sheet mới thành font Arial bằng công thức api chấm Font chấm Name  cho range từ A1 đến G len order code list cộng 1. Tiếp theo, ta import package constant. Các bạn căn chỉnh nội dung trong các sheet mới về giữa thông qua hàm Horizontal Alignment và Vertical Alignment. Ta dùng hàm autofit để chỉnh lại size cho các cột này. Cuối cùng, ta tạo borders cho toàn bộ các bảng mới thông qua hàm borders. Trong vòng lặp for với biến I trong range từ 7 đến 13, ta sử dụng công thức borders chấm LineStyle bằng 1 và borders chấm Weight bằng 2 để tạo border cho toàn bộ nội dung các sheet mới. Các bạn thực thi code. Như các bạn đã thấy, toàn bộ các sheet của nhà sản xuất đã được căn chỉnh lại định dạng như chúng ta đã thiết lập.

Phần bài học này đến đây là kết thúc. Tùy theo thực tế công việc của các bạn mà các bạn vận dụng những phương pháp đã được chúng tôi hướng dẫn trong bài này, để áp dụng vào công việc của các bạn sao cho hợp lý. Chúc các bạn thành công. 

III. KẾT LUẬN

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

Như các bạn đã thấy, chúng ta có bảng dữ liệu trong sheet Data, bảng dữ liệu này có tên là Bill of Material, có thể sử dụng cho nhiều mục đích khác nhau. Trường hợp đầu tiên là khi chúng ta lên danh sách để mua hàng hóa từ các nhà sản xuất, bảng tổng hợp sẽ giúp chúng ta dự trù được kinh phí để mua sắm. Các bạn có thể phân tách dữ liệu từ bảng tổng hợp về thành các sheet khác nhau, mỗi sheet tương ứng với 1 nhà sản xuất để phục vụ cho việc quản lý mua sắm. Trường hợp thứ hai là khi chúng ta có hàng hóa vật tư trong kho. Các bạn muốn bán cho các nhà phân phối hoặc tiêu thụ, việc phân tách dữ liệu sẽ giúp chúng ta biết được lượng hàng hóa của chúng ta có đáp ứng nhu cầu mua sắm của bên mua hay không. Từ đó ta có phương án nhập mới hàng hoặc sản xuất hàng để đáp ứng nhu cầu bên mua. Ngoài ra, tùy theo tính chất công việc của các bạn, mà các bạn có thể vận dụng bảng dữ liệu và cách thức phân tách dữ liệu trong bài học này, để phục vụ nhu cầu của các bạn.

2. Ưu điểm

Như đã nêu trên.

3. Nhược điểm

Do tính chất phức tạp của bảng code, cần hiểu rõ cách sử dụng để vận dụng vào công việc

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 *