
การทำงานลักษณะนี้คงต้องพึ่งพา Solver หรือ VBA เข้ามาช่วย ซึ่งในส่วนของ Solver ก็ไม่รับรองผลว่าจะใช้งานได้นะครับ
หากยังไม่มี Add-ins Solver ให้เปิดขึ้นมาใช้งานก่อน โดยคลิกขวาที่เมนูใด ๆ แล้วเลือก Customize the ribbon > Add-ins > Excel Add-ins > Go > Solver Add-ins > OK
จากนั้นกลับมาที่ไฟล์งาน ซึ่งจะมีวิธีการทำงานเป็นรอบ ๆ ไปโดยต้องเตรียมข้อมูลดังนี้
- A13 คีย์สูตรเพื่อ List รายการตัวเลขออกมาทั้งหมด
=LARGE($E$2:$O$9,COUNT($E$2:$O$9)-ROWS(A$13:A13)+1)
Enter > Copy ลงด้านล่าง > Copy ค่าที่ได้แล้ววางแบบค่า (Valus)
- B101 คีย์สูตร
=SUMPRODUCT(A13:A100,B13:B100)
Enter
- C101 คีย์สูตร
=COUNTIF(B13:B100,">0")
จากนั้นทำการ Solver โดยทำตามขั้นตอนด้านล่างครับ
- เข้าเมนู Data > Solver
- ตรง Set Objective: คลิก B101
- ตรง To: เลือก Max
- ตรง By Changing Variable Cells: เลือก B13:B100
- ในส่วนของ Subject to the constraints:
- คลิกปุ่ม Add
- Cell Reference เลือก B101
- เครื่องหมายเลือก <=
- Constrain คีย์ 234
- Cell Reference เลือก B13:B100
- เครื่องหมายเลือก bin
- คลิกปุ่ม Add
- Cell Reference เลือก C101
- เครื่องหมายเลือก <=
- Constrain คีย์ 8
- คลิกปุ่ม Add
- คลิก Cancel
- คลิก Solve
หาก Solver ทำงานได้มันจะแสดงเลข 1 ในคอลัมน์ B มาจำนวน 8 ตัว ให้เลือกตัวเลขที่คอลัมน์ A ที่ตรงกับเลข 1 มาใช้งาน จากนั้นเก็บค่านั้นไว้และลบผลลัพธ์ที่ได้และทำการ Solver ใหม่จนครบทุกชุด
Note: เลข 8 หมายถึงคราวละ 8 บรรทัด, เลข 234 หมายถึงเมื่อรวมกันแล้วต้องไม่เกิน 234 ตัวเลขนี้สามารถปรับปรุงเองได้ตามค่าที่ต้องการใช้จริงครับ