Critical Path Method Excel

🗂️ Categories :

,

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่)

ต่อเนื่องจากบทความการบริหารโครงการ หรือ Project Management ด้วย Excel ที่ผมได้เขียนไปก่อนหน้านี้ ซึ่งเป็นเรื่องของการทำ Gantt Chart คราวนี้ผมจะขอพูดถึงเรื่องของการวางแผนโดยใช้ Critical Path หรือคือเส้นทางการทำงานที่สำคัญที่สุด ซึ่งถ้าหากงานใดงานหนึ่งใน Path นั้นเกิดการ Delay ปุ๊ปจะทำให้โครงการโดยรวม Delay ทันที

หมายเหตุ : เดิมทีบทความนี้ใช่สูตรสมัย Excel 2013 ซึ่งยากมาก เวลาก็ผ่านไปนานแล้ว ผมเลยปรับบทความนี้ใหม่ให้ใช้สูตรของ Excel 365 จะได้เขียนสูตรง่ายขึ้น และทำให้ข้อมูลเป็น Table จะได้อ่านสูตรง่ายขึ้นและมีความ Dynamic มากขึ้นด้วย

Case ตัวอย่าง

โดยผมใช้ภาพประกอบจากบทความนี้ ซึ่งมีอธิบายเรื่องวิธีการคำนวณแบบ Manual ให้ด้วย แต่ผมจะอธิบายวิธีการทำแบบ Auto ใน Version Excel ให้ดูครับ

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 1
รูปจาก https://pmstudycircle.com/2014/01/critical-path-method-cpm-in-project-management/

วิธีการอ่านรูป

  • A,B,C คือชื่อของงานย่อยๆ
  • ตัวเลขในกล่องสี่เหลี่ยมคือ ระยะเวลาที่ต้องใช้ในการทำงานนั้นๆ
  • ลูกศรที่ชี้คือทำงานนั้นเสร็จแล้วต้องทำงานอะไรต่อ (แสดงความ dependency กัน) เช่น งาน B จะเริ่มทำได้เมื่อ A และ D เสร็จแล้วทั้งคู่เท่านั้น

ความหมายของคำศัพท์แต่ละอัน

มีองค์ประกอบอยู่ 4 ตัวที่สำคัญ คือ

  • Early Start (ES) : งานนั้นๆ จะเริ่มเร็วสุดได้เมื่อไหร่ = Early Finish ของ Activity ก่อนหน้าอันสุดท้าย + 1 นั่นเอง
  • Early Finish (EF) : งานนั้นๆ จะเสร็จได้เร็วสุดเมื่อไหร่ = Early Start + Duration ของงาน -1 (เพื่อ adj ให้นับวันเริ่มด้วย)
  • Late Finish (LF) : งานนั้นๆ จะเสร็จได้ช้าสุดเมื่อไหร่ = Late Start ของ Activity ถัดไปอันแรก -1
  • Late Start (LS) : งานนั้นๆ จะเริ่มได้ช้าสุดเมื่อไหร่ = Late Finish – Duration + 1

Assumption

สมมติว่าทำงานนึงเสร็จวันที่ 5 งานที่ต้องทำลำดับต่อไปจะเริ่มได้เร็วสุดวันที่ 6 นะครบ (ถือว่าวันที่ 5 คือสิ้นวันแล้ว)

ซึ่งเราจะคำนวณพวก Early Start, Early Finish, Late Start, Late Finish ของแต่ละงานแบบอัตโนมัติครับ บอกไว้ก่อนว่าสูตรในบทความนี้ค่อนข้างซับซ้อน กรุณาทำใจก่อนดู 555

เริ่มลงมือทำ

ข้อมูลดิบใน Excel

เราบันทึกข้อมูลลงไปประมาณนี้

Activity	Duration	งานก่อนหน้า
A	10	
B	12	A,D
C	9	B
D	5	
E	7	D,G
F	6	E
G	3	
H	4	G
I	6	H

โดยผมทำเป็น Table ไว้ จะได้อ่านสูตรง่ายขึ้นและมีความ Dynamic มากขึ้นด้วย

เริ่มคำนวณ ES และ EF

เราจะต้องคำนวณ Early Start (ES) ก่อน ซึ่งคำนวณมาจาก

Early Start (ES) 
= Early Finish ของ Activity ก่อนหน้าอันสุดท้าย + 1

ซึ่ง Early Finish ของ Activity ก่อนหน้าอันสุดท้าย ถ้าไม่มีก็คือถือว่าเป็น 0 ไปนั่นเอง ซึ่งเราใช้ IF มาดักได้

Early Start (ES) 
= IF([@งานก่อนหน้า]="",0,[@[Max EF ก่อนหน้า]])+1

ส่วน EFก่อนหน้า เรายังไม่มี ก็ต้องคำนวณออกมาก่อน ซึ่งทำได้โดยใช้สูตรที่ว่า

Early Finish (EF) 
= ESตัวนั้น + Duration -1
= [@ES]+[@Duration]-1

ซึ่ง EF ก่อนหน้า มันอาจมีหลายตัวก็ได้ เช่น กิจกรรม B มีก่อนหน้าคือ A กับ D ซึ่งเราต้องทำการ Lookup ค่า EF ของ A กับ D ออกมา แล้วหาค่า MAX ซึ่งเราทำแบบนี้ได้

Max EF ก่อนหน้า 
=MAX(XLOOKUP(TEXTSPLIT([@งานก่อนหน้า],","),[Activity],[EF]))

ที่นี้จะเห็นว่างานที่จะเสร็จเป็นอันสุดท้ายคือ C ซึ่งจะไปจบวันที่ 31 ไอ้เส้นทางที่จบที่ C นี่แหละ คือ Critical Path ล่ะ

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 2

เดี๋ยวต่อไปเราจะคำนวณ LF กับ LS นะครับ โดยจะคำนวณ LF ก่อน เพราะเรารู้แล้วว่าต้องจบไม่เกิน 31 นะ

ปรับตารางให้ทำงานง่ายขึ้น

เพื่อให้ง่ายขึ้น จากนั้นผมจะเพิ่มคอลัมน์อีกอัน ชื่อว่า “งานต่อหลัง” เพื่อคำนวณว่า งานนั้นมีอะไรต่อหลังจากนั้นนั้นๆ บ้าง?

หลักการคือ เราหางานที่จะตามหลังจากงานบรรทัดนั้นๆ ด้วย FILTER + FIND แล้วค่อยเอาผลลัพธ์ที่ได้มารวมกันด้วย TEXTJOIN

งานต่อหลัง
=TEXTJOIN(",",TRUE,FILTER([Activity],ISNUMBER(FIND([@Activity],[งานก่อนหน้า])),""))
วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 3

คำนวณ LF และ LS

สำหรับ LF นั้น = Late Start ของ Activity ถัดไปอันแรก -1 แต่ถ้าเป็น Activity สุดท้ายแล้ว (ไม่มีตัวต่อ ก็จะเท่ากับค่า MAX ของ EF)

ดังนั้นเราจะเขียนสูตรได้ว่า ถ้าตัวตามหลังไม่มี ก็ให้ LF เป็น MAX EF เลย

LF
=IF([@งานต่อหลัง]="",MAX([EF]),[@[Min LS ถัดไป]] -1)

จากนั้นเราคำนวณ LS (Late Start) ก่อน

LS
=[@LF]-[@Duration]+1

คราวนี้เราจะกลับมาคำนวณ LF ที่ค้างไว้ โดย Min LS ถัดไป ก็คือต้อง Lookup LS ของงานต่อหลังมา แล้วหาค่า MIN

Min LS ถัดไป
=MIN(XLOOKUP(TEXTSPLIT([@งานต่อหลัง],","),[Activity],[LS]))

แล้วเราก็จะได้ผลลัพธ์ครบทุกช่องตามต้องการแล้ว

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 4

จัดเรียงหน้าตาและทำ Gantt Chart

ถ้าสูตรทุกอย่าง work แล้ว เราอาจจะรวบสูตร

เอา Max EF ก่อนหน้า ไปรวมกับ ES

ES
= IF([@งานก่อนหน้า]="",0,MAX(XLOOKUP(TEXTSPLIT([@งานก่อนหน้า],","),[Activity],[EF])))+1

เอา Min LS ถัดไป รวมกับ LF

LF
=IF([@งานต่อหลัง]="",MAX([EF]),MIN(XLOOKUP(TEXTSPLIT([@งานต่อหลัง],","),[Activity],[LS])) -1)

จากนั้นจัดเรียงคอลัมน์ใหม่ให้เหมาะสม เช่น ให้ LS ขึ้นก่อน LF แล้วเว้นไป 1 คอลัมน์ แล้วสร้างคอลัมน์ใหม่เป็น 1-32 (ให้เลยวันสุดท้าย)

ที่เว้น 1 คอลัมน์ จะได้ไม่ต้องทำเป็น Table

จะได้หน้าตาแบบนี้

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 5

ต่อไป ผมจะใส่ Conditional Format 2 อัน สำหรับในช่อง ES-EF กับ LS-LF

สำหรับ ES-EF เราจะทำอันนึงเป็นสีน้ำเงินแบบมี Pattern แนวตั้ง (จะได้มองทะลุด้านหลังได้) ซึ่งเขียน Conditional Format แบบ Custom ดังนี้ (เลือกพื้นที่เริ่มจาก J3)

Conditional Format ES-EF สีน้ำเงิน
=AND(J$2>=$D3,J$2<=$E3)

สำหรับ LS-LF เราจะทำเป็นสีเหลืองแบบทึบ ซึ่งเขียน Conditional Format แบบ Custom ดังนี้ (เลือกพื้นที่เริ่มจาก J3)

Conditional Format LS-LF สีเหลือง
=AND(J$2>=$G3,J$2<=$H3)

ซึ่งเราจะเรียงเอาสีน้ำเงินขึ้นก่อน ไม่งั้นเดี๋ยวจะมองไม่เห็น

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 6

แค่นี้เราจะเห็นได้ชัดเลยว่าสามารถเริ่มงานอะไรได้ตั้งแต่ตอนไหน เริ่มได้ช้าสุดตอนไหน

และเราจะสังเกตได้ง่ายเลยว่าตรงไหนคือ Critical Path ซึ่งก็คืองานที่สองสีซ้อนกัน 100% ทั้งงานนั่นเอง (ไม่มีเวลาให้ Late ได้เลย)

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 7

ซึ่งทุกอย่างจะเปลี่ยนแบบอัตโนมัติทั้งหมดด้วย!

ลองเปลี่ยน Dependency

ลองแก้โจทย์ว่างาน G ต้องทำงาน B ให้เสร็จก่อนดู

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 8

จะเห็นว่าตัวเลขทุกอย่างเปลี่ยนตามหมดเลย

ซึ่งถ้าลอง Sort ตาม LS อาจจะดูง่ายขึ้นได้ดังนี้

วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่) 9

สรุป

เราสามารถใช้ Excel คำนวณเรื่อง Critical Path ได้ แต่ก็ต้องใช้ทั้งความเข้าใจหลักการของ Project Management เอง และความเข้าใจเรื่องของการใช้สูตรต่างๆ ด้วย

One response to “วิธีคำนวณ Critical Path Method ในงานบริหารโครงการ ด้วย Excel (ปรับปรุงใหม่)”

Leave a Reply

Your email address will not be published. Required fields are marked *