รบกวนถามสูตรเกี่ยวกับ planning หน่อยนะครับ
Posted: Sat Apr 09, 2011 4:26 pm
ผมขอถามเกี่ยวกับสูตรของ excel หน่อยนะครับ
คือผมจะทำไฟล์ excel เพื่อช่วยแผนก planning จำลองจำนวน part ที่จะต้องซื้อและผลิตที่ความต้องการต่าง ๆ เช่น
ผมแตก BOM(Bill of Material) ของ part ตัวหนึ่งออกมา ซึ่งpartตัวนี้ประกอบไปด้วย part ย่อย ๆ อีกประมาณพันกว่าตัว -_-! ตัวอย่างตามไฟล์ที่แนบครับ
ผมขออธิบายตารางนะครับ
* level คือระดับขั้นของวัตถุดิบเช่น level .1 คือfinal part เกิดจากการประกอบ part level ..2 ทั้งหมดเข้าด้วยกัน นอกจะนี้จะเห็นว่าpart level ..2 บางตัวจะมี part level ...3 อยู่ข้างล่างหมายความว่าเราต้องใช้ part level...3 มาประกอบเป็น part level ..2, part level ....4 ก็จะใช้ประกอบเพื่อทำเป็น part level ...3
ปัญหาคือ ผมต้องเขียนสูตรเพื่อคำนวณปริมาณของวัตถุดิบที่จะต้องใช้ตามความต้องการที่เปลี่ยนไป เช่น ถ้าเราต้องการผลิต Final part อีก 100 ตัว
* เราต้องซื้อ part A อีก 130 ตัว(100-20+50) (เพราะมี stock อยู่แล้ว 20 ตัวและใช้ part A ผลิต Final part อย่างละ 1 ตัวและต้องการเก็บไว้เป็น spare อีก 50ตัว)
* part B เราต้องผลิต part B เพิ่มอีก 46 ตัว(100-54)
* แต่ part B เกิดจากการนำ part B1 มาประกอบดังนั้นเราต้องสร้าง part B1 ให้พอกับความต้องการที่จะสร้าง part B นั่นก็คือ 34 ตัว(46-12) (เพราะความต้องการที่จะใช้ของ part B ต้องการเพิ่มแค่ 46 ตัว และเรามีสต๊อคของ partB1 แล้ว 12 ตัว)
* แต่part B1 เกิดจากการนำ part B11 มาประกอบดังนั้นเราต้องสั่งซื้อ part B11 เพิ่มอีก 4ตัว (34-30)(เพราะความต้องการที่จะใช้ part B1เพิ่มมี 34 ตัวและเรามีสต๊อคของ part B11แล้ว 30ตัว)
* part C เราต้องผลิต part C เพิ่มอีก 65 ตัว(100-35)
* แต่ part C เกิดจากการนำ part C1,C2,C3,C4,C5 มาประกอบดังนั้นเราต้องสร้าง part C1,C2,C3,C4,C5 ให้พอกับความต้องการที่จะสร้าง part C นั่นก็คือ part C1 = 57 ตัว(65-8), C2 = 106ตัว(65-12*2เพราะใช้ 2 ตัวในการทำ part C 1 ตัว), C3 = 47ตัว(65-18), C4 = 50ตัว(65-15), C5 = 31ตัว(65-34)
* part C1 เกิดจากการนำ part C11 มาประกอบดังนั้นเราต้องสั่งซื้อ part C11 เพิ่มอีก 57ตัว (57-0)(เพราะความต้องการที่จะใช้ part C1เพิ่มมี 57 ตัวแต่เราไม่มีสต๊อคของ part C11เลย)
* part C4 เกิดจากการนำ part C41 มาประกอบดังนั้นเราต้องผลิต part C41 เพิ่มอีก 30ตัว (50-20)(เพราะความต้องการที่จะใช้ part C4เพิ่มมี 50 ตัวและเรามีสต๊อคของ part C41 20ตัว)
* part C41 เกิดจากการนำ part C411 มาประกอบดังนั้นเราต้องซื้อ part C411 เพิ่มอีก 0.61 กิโลกรัม (30*0.037-0.5)(เพราะความต้องการที่จะใช้ part C4เพิ่มมี 1.11 กิโลกรัมและเรามีสต๊อคของ part C411 0.5กิโลกรัม)
ตอนแรกผมจะลองใช้ if ธรรมดาแต่คิดว่าไม่น่าจะได้เพราะเงื่อนไขมันซับซ้อนเกินไป (เนื่องจาก part บางตัวประกอบไปด้วย part ย่อย ๆ หลายตัว และในการที่จะคำนวณ part ย่อย ๆ พวกนั้นต้องคำนวณโดยยึดเงื่อนไขของ part ที่สูงกว่า 1 level ลบด้วยจำนวนสต๊อคคงเหลือ)
ผมลองเขียน flow คร่าว ๆ แบบนี้อะครับ
- ให้ดูที่level ว่าเป็น level 1 ไหม ถ้าใช่ก็ให้เอาความต้องการที่จะผลิตเพิ่ม(demand) ลบจำนวนสต๊อคที่มี = จำนวนที่ต้องผลิตเพิ่ม
- ให้ดูที่level ว่าเป็น level 2 ไหม ถ้าใช่ให้ไปดู level 1 ว่าต้องผลิตเพิ่มเท่าไหร่ ลบด้วยจำนวนสต๊อคที่มี+จำนวนที่ต้องการสำรองไว้สำหรับ spare part
- ให้ดูที่level ว่าเป็น level 3 ไหม ถ้าใช่ให้ไปดู level 2 (ต้องระวังเพราะอาจมี level 2 หลายตัว ให้ดูที่level 2 นับขึ้นไปข้างบนตัวแรกเท่านั้น แล้วเอาจำนวนที่ต้องผลิตเพิ่มของ level 2 ลบด้วยจำนวนสต๊อคที่มีของ level 3+จำนวนที่ต้องการสำรองไว้สำหรับ spare part)
- ให้ดูที่level ว่าเป็น level 4 ไหม ถ้าใช่ให้ไปดู level 3 (ต้องระวังเพราะอาจมี level 3 หลายตัว ให้ดูที่level 3 นับขึ้นไปข้างบนตัวแรกเท่านั้นแล้วเอาจำนวนที่ต้องผลิตเพิ่มของ level 3 ลบด้วยจำนวนสต๊อคที่มีของ level 4
- บาง part อาจต้องใช้มากกว่า 1 ตัวในการผลิต part ที่ level สูงขึ้นไป(ตามจำนวนที่ระบุไว้ใน BOM)
ขอรบกวนด้วยนะครับ
ขอบคุณมากครับ
คือผมจะทำไฟล์ excel เพื่อช่วยแผนก planning จำลองจำนวน part ที่จะต้องซื้อและผลิตที่ความต้องการต่าง ๆ เช่น
ผมแตก BOM(Bill of Material) ของ part ตัวหนึ่งออกมา ซึ่งpartตัวนี้ประกอบไปด้วย part ย่อย ๆ อีกประมาณพันกว่าตัว -_-! ตัวอย่างตามไฟล์ที่แนบครับ
ผมขออธิบายตารางนะครับ
* level คือระดับขั้นของวัตถุดิบเช่น level .1 คือfinal part เกิดจากการประกอบ part level ..2 ทั้งหมดเข้าด้วยกัน นอกจะนี้จะเห็นว่าpart level ..2 บางตัวจะมี part level ...3 อยู่ข้างล่างหมายความว่าเราต้องใช้ part level...3 มาประกอบเป็น part level ..2, part level ....4 ก็จะใช้ประกอบเพื่อทำเป็น part level ...3
ปัญหาคือ ผมต้องเขียนสูตรเพื่อคำนวณปริมาณของวัตถุดิบที่จะต้องใช้ตามความต้องการที่เปลี่ยนไป เช่น ถ้าเราต้องการผลิต Final part อีก 100 ตัว
* เราต้องซื้อ part A อีก 130 ตัว(100-20+50) (เพราะมี stock อยู่แล้ว 20 ตัวและใช้ part A ผลิต Final part อย่างละ 1 ตัวและต้องการเก็บไว้เป็น spare อีก 50ตัว)
* part B เราต้องผลิต part B เพิ่มอีก 46 ตัว(100-54)
* แต่ part B เกิดจากการนำ part B1 มาประกอบดังนั้นเราต้องสร้าง part B1 ให้พอกับความต้องการที่จะสร้าง part B นั่นก็คือ 34 ตัว(46-12) (เพราะความต้องการที่จะใช้ของ part B ต้องการเพิ่มแค่ 46 ตัว และเรามีสต๊อคของ partB1 แล้ว 12 ตัว)
* แต่part B1 เกิดจากการนำ part B11 มาประกอบดังนั้นเราต้องสั่งซื้อ part B11 เพิ่มอีก 4ตัว (34-30)(เพราะความต้องการที่จะใช้ part B1เพิ่มมี 34 ตัวและเรามีสต๊อคของ part B11แล้ว 30ตัว)
* part C เราต้องผลิต part C เพิ่มอีก 65 ตัว(100-35)
* แต่ part C เกิดจากการนำ part C1,C2,C3,C4,C5 มาประกอบดังนั้นเราต้องสร้าง part C1,C2,C3,C4,C5 ให้พอกับความต้องการที่จะสร้าง part C นั่นก็คือ part C1 = 57 ตัว(65-8), C2 = 106ตัว(65-12*2เพราะใช้ 2 ตัวในการทำ part C 1 ตัว), C3 = 47ตัว(65-18), C4 = 50ตัว(65-15), C5 = 31ตัว(65-34)
* part C1 เกิดจากการนำ part C11 มาประกอบดังนั้นเราต้องสั่งซื้อ part C11 เพิ่มอีก 57ตัว (57-0)(เพราะความต้องการที่จะใช้ part C1เพิ่มมี 57 ตัวแต่เราไม่มีสต๊อคของ part C11เลย)
* part C4 เกิดจากการนำ part C41 มาประกอบดังนั้นเราต้องผลิต part C41 เพิ่มอีก 30ตัว (50-20)(เพราะความต้องการที่จะใช้ part C4เพิ่มมี 50 ตัวและเรามีสต๊อคของ part C41 20ตัว)
* part C41 เกิดจากการนำ part C411 มาประกอบดังนั้นเราต้องซื้อ part C411 เพิ่มอีก 0.61 กิโลกรัม (30*0.037-0.5)(เพราะความต้องการที่จะใช้ part C4เพิ่มมี 1.11 กิโลกรัมและเรามีสต๊อคของ part C411 0.5กิโลกรัม)
ตอนแรกผมจะลองใช้ if ธรรมดาแต่คิดว่าไม่น่าจะได้เพราะเงื่อนไขมันซับซ้อนเกินไป (เนื่องจาก part บางตัวประกอบไปด้วย part ย่อย ๆ หลายตัว และในการที่จะคำนวณ part ย่อย ๆ พวกนั้นต้องคำนวณโดยยึดเงื่อนไขของ part ที่สูงกว่า 1 level ลบด้วยจำนวนสต๊อคคงเหลือ)
ผมลองเขียน flow คร่าว ๆ แบบนี้อะครับ
- ให้ดูที่level ว่าเป็น level 1 ไหม ถ้าใช่ก็ให้เอาความต้องการที่จะผลิตเพิ่ม(demand) ลบจำนวนสต๊อคที่มี = จำนวนที่ต้องผลิตเพิ่ม
- ให้ดูที่level ว่าเป็น level 2 ไหม ถ้าใช่ให้ไปดู level 1 ว่าต้องผลิตเพิ่มเท่าไหร่ ลบด้วยจำนวนสต๊อคที่มี+จำนวนที่ต้องการสำรองไว้สำหรับ spare part
- ให้ดูที่level ว่าเป็น level 3 ไหม ถ้าใช่ให้ไปดู level 2 (ต้องระวังเพราะอาจมี level 2 หลายตัว ให้ดูที่level 2 นับขึ้นไปข้างบนตัวแรกเท่านั้น แล้วเอาจำนวนที่ต้องผลิตเพิ่มของ level 2 ลบด้วยจำนวนสต๊อคที่มีของ level 3+จำนวนที่ต้องการสำรองไว้สำหรับ spare part)
- ให้ดูที่level ว่าเป็น level 4 ไหม ถ้าใช่ให้ไปดู level 3 (ต้องระวังเพราะอาจมี level 3 หลายตัว ให้ดูที่level 3 นับขึ้นไปข้างบนตัวแรกเท่านั้นแล้วเอาจำนวนที่ต้องผลิตเพิ่มของ level 3 ลบด้วยจำนวนสต๊อคที่มีของ level 4
- บาง part อาจต้องใช้มากกว่า 1 ตัวในการผลิต part ที่ level สูงขึ้นไป(ตามจำนวนที่ระบุไว้ใน BOM)
ขอรบกวนด้วยนะครับ
ขอบคุณมากครับ