Một cách giải bài toán subset sum trong Excel VBA

Ngày xưa, thời đi thực tập ở KPMG Frankfurt, có anh F. Wendt thời đó là Director hay Partner gì đó tự nhiên hốt hoảng chạy ra open-space là chỗ mà mấy đứa thực tập sinh, sinh viên đi làm thêm cầu cứu vì có tới hơn 200 Positions lổn nhổn số, vấn đề là không biết số nào cộng với số nào thì ra 1 tổng. Sếp thì đã thử Solver rồi, nhưng mà nhiều Positions như vậy thì Solver lúc đó cũng chịu. Lúc đó phải nói là vừa liều, cũng vừa muốn chứng tỏ mình, xung phong bảo “Sếp để em xem cho”. Thế là lấy dữ liệu về, và mò, rồi mò, rồi search và search, và chính cái lúc search đó, mình mới biết và gọi tên được cái vấn đề mà ông Wendt đang gặp phải là “Subset sum”. Đấy, các bạn thấy không, giờ mà có vấn đề mang đi hỏi ngay thì làm sao học được cách tìm kiếm, cách search, làm sao mà “chỉ mặt đặt tên” được cho cái vấn đề mình gặp phải? …

Nhưng cũng có lúc nản, thì may có cậu bạn, cao thủ đã từng giải nọ giải kia tin học. Cậu K này đã giúp mình giải được vấn đề “Subset sum”, tuy nhiên code cậu ta viết thì bằng Python. May lần 2 là mình cũng có hiểu Python, và dịch lại từ Python sang VBA.

Viết lại 1 chương trình từ ngôn ngữ lập trình này qua ngôn ngữ lập trình khác tiếng Đức gọi là Portierung, tiếng Anh gọi là Porting

Và hôm nay, Học Excel Online xin chia sẻ với các bạn file Excel này. Các bạn có thể download ở link bên dưới, download xong thì các bạn vào VBA Excel và bấm chạy sub trong đó.

Download

 


Tác giả: dtnguyen (Nguyễn Đức Thanh)

@ Học Excel Online | DTNguyen.business
· · ·

Khóa học mới xuất bản