😵💫 กรอบสีแดง เป็นสูตรที่ทำให้ผมเป็นโรคกระเพาะครับ
.
ตอนนั้นกำลังจะสร้างหลักสูตรด้านการวางแผนการผลิต สอนที่สมาคมส่งเสริมเทคโนโลยี (ไทย-ญี่ปุ่น) พยายามคิดสูตรที่จะตอบคำสั่งซื้อของลูกค้าที่ว่า ต้องการมารับของในวันอาทิตย์ที่ 25 จะทำให้ได้ไหม
.
จากปฏิทินด้านขวามือ วันที่สีแดงในพื้นสีเหลืองคือวันหยุดประจำสัปดาห์ซึ่งหยุดทุกวันพฤหัส เสาร์ และอาทิตย์ และในเดือนนั้นมีวันหยุดพิเศษอยู่อีก 3 วัน คือวันที่ 9, 19, และ 27
.
ต้องการรับของวันที่ 25 โดยสินค้านี้ใช้เวลาผลิตหรือจัดหาทั้งสิ้น 10 วัน ซึ่ง 10 วันที่ว่านี้ต้องเป็นวันทำงานเท่านั้นด้วย ไม่ได้ทำงานในวันหยุด
.
ดังนั้นต้องหาทางคิดสูตรที่จะนับเฉพาะวันที่ทำงาน "ย้อนหลัง" ถอยเข้ามาหาว่า 10 วันนั้นน่ะต้องเริ่มผลิตที่วันไหนเอ่ย
.
ความยากของปัญหานี้ก็คือ ถ้านับวันถอยหลังมาแล้วมาตกวันหยุด ต้องกระเถิบไปหาวันทำงานที่ใกล้ที่สุด แต่ถ้ากระเถิบมาแล้วไปเจอวันหยุดอีกก็ต้องกระเถิบอีก สูตรต้องกระเถิบให้ได้ด้วยครับ ทำยังไงดี
.
ตอนนั้นสูตรที่คิดออกมาได้ยาวเหยียดเลย ตามภาพในกรอบสีแดง
=INDEX( LARGE(
IF(ISNA(MATCH(WEEKDAY(ROW(INDIRECT(PullTo-MaxDays&":"&PullTo))),WeekdayNum,0))
*ISNA(MATCH(ROW(INDIRECT(PullTo-MaxDays&":"&PullTo)),SpecialHoliday,0)),
ROW(INDIRECT(PullTo-MaxDays&":"&PullTo))),
ROW(INDIRECT("1:"&MaxDays))),
PullWrkDays,1)
.
😱 แม้จะคิดสูตรนี้ออกมาได้ แต่ถามว่าลูกศิษย์อยากมาเรียนไหมล่ะสูตรยาวๆแบบนี้ หลักการคำนวณของสูตรที่เอามาซ้อนกันนั้นน่ะ ต้องเก่งมากๆทีเดียวล่ะจึงจะเข้าใจ แม้แต่ผมที่เป็นคนสร้างสูตรยังไม่อยากจะสอนเลยครับ
.
☝️ สูตรนี่เองที่ทำให้ผมป่วยเป็นโรคกระเพาะอยู่นานหลายปี จนสัญญากับตัวเองว่า จะไม่คิดสูตรอะไรที่ซ้อนกันไปซ้อนกันมายากๆอีกแล้ว และถ้าจะนำไปสอนคนอื่น ก็ต้องหาทางอื่นเพื่อสามารถนำไปใช้งานได้ง่ายๆด้วย
.
แทนสูตรยาวๆ ผมหันมาสร้างสูตรด้วย VBA ดีกว่าครับ เวลานำไปใช้งานก็ใช้สูตรแค่นี้
👉 =FromDate(PullTo, PullWrkDays, WeekdayNum, SpecialHoliday)
.
FromDate เป็นชื่อสูตรที่ผมสร้างขึ้น ไม่มีใน Excel เพื่อหาว่าเริ่มจากวันไหน
PullTo คือ วันที่ลูกค้าต้องการมารับของ
PullWrkDays คือ จำนวนระยะเวลากี่วันที่ใช้ในการผลิต
WeekdayNum คือ ตารางวันหยุดประจำสัปดาห์
SpecialHoliday คือ ตารางวันหยุดพิเศษเพิ่มเติม ซึ่งกำหนดได้ตามสบาย
.
นอกจากสูตร FromDate จะตอบว่า ต้องสั่งผลิตตั้งแต่วันไหนแล้ว ยังสามารถสรุปแสดงรายชื่อวันทำงาน วันหยุด ใน column L M N ให้อีกด้วย จะได้ไม่ต้องไปมองหาว่ามีวันทำงานวันไหนบ้าง หรือมีวันอะไรที่เป็นวันหยุดในช่วงนั้น
.
สูตรนี้เป็นแบบคิดย้อนหลังครับ ยังมีอีกสูตรที่ทำหน้าที่คิดไปข้างหน้า ซึ่งผมทำเป็นสูตรในแฟ้ม Add-in จะได้นำไปใช้ที่เครื่องไหนก็ได้ตามสบาย
.
Add-in นี้กว่าจะได้มาต้องแลกด้วยแผลในกระเพาะ และไม่สามารหาได้จากที่อื่น มีเฉพาะในหลักสูตร Business Planning and Scheduling with Excel Expert หรือชื่อไทยๆว่า "ประยุกต์ใช้ Excel ในงานวางแผนกำหนดการ"
.
เชิญลงชื่อเป็น Waiting list ตามลิงก์นี้ไว้ก่อนครับ พอมีผู้สนใจเรียนมากพอแล้วผมจะอีเมลไปแจ้งว่าจะเปิดอบรมเมื่อไหร่
https://www.excelexperttraining.com/private/enrollment/courses-table/wishing-and-waiting/individual-registration
.
นอกจากนี้ยังมีการวางแผนอีกหลายอย่างครับ เชิญดูเนื้อหาได้จาก
https://www.excelexperttraining.com/private/business-planning-and-scheduling