4
Modelling the whole project in a spreadsheet
Forward scan, backward scan and float are three passes over the same table, and each one is a formula a spreadsheet can hold. Build the columns once and the model recalculates every EST, LST and float the moment a duration changes, which is exactly what you need when a question asks what happens if an activity runs late.
By hand, changing one duration means redoing both scans. In a spreadsheet you change one cell. Start from the precedence table, which is how these projects are given to you in the first place:
| Activity | Immediate predecessors | Duration (days) |
| A | – | 4 |
| B | – | 3 |
| C | A | 5 |
| D | A, B | 2 |
| E | C | 3 |
| F | D | 5 |
| G | E, F | 2 |
The columns, and the one idea in each
Put the activities in rows 2 to 8, in an order where every activity appears below all of its predecessors. Then each column is a single formula filled down:
- EFT in column E is
=D2+C2 . An activity finishes when it starts plus how long it takes.
- EST in column D is the latest of its predecessors' finish times, so
=MAX(E6,E7) for activity G, and plain 0 for A and B, which wait for nobody. That single MAX is the entire forward scan.
- LFT in column F is the earliest of its successors' latest starts, so
=MIN(G4,G5) for activity A. The last activity is the exception: its LFT is the project duration, =MAX(E2:E8) .
- LST in column G is
=F2-C2 , and float in column H is =G2-D2 .
- Critical? in column I is
=IF(H2=0,"YES","") , which is the definition of a critical activity written as a formula.
Filled down, the model returns:
| Activity | Duration | EST | EFT | LST | LFT | Float | Critical? |
| A | 4 | 0 | 4 | 0 | 4 | 0 | YES |
| B | 3 | 0 | 3 | 2 | 5 | 2 | |
| C | 5 | 4 | 9 | 4 | 9 | 0 | YES |
| D | 2 | 4 | 6 | 5 | 7 | 1 | |
| E | 3 | 9 | 12 | 9 | 12 | 0 | YES |
| F | 5 | 6 | 11 | 7 | 12 | 1 | |
| G | 2 | 12 | 14 | 12 | 14 | 0 | YES |
The project takes 14 days and the critical path is A → C → E → G . Activity B can start up to 2 days late without hurting anything, and D and F have 1 day each, which is the float shared along the path through them.
Three checks that catch a broken model.
- No float may be negative. A negative float means an LFT was read from the wrong successor, or the project duration was typed in by hand instead of being computed from the EFT column.
- The YES cells must join up. Critical activities form an unbroken chain from a starting activity to a finishing one. If the YES rows do not connect, a predecessor reference points at the wrong row.
- Add the critical durations independently. Here 4 + 5 + 3 + 2 = 14, which must equal the largest EFT in the table. Those two numbers are produced by different columns, so agreement is real evidence rather than the same arithmetic twice.
Now solve with it. Change activity F's duration from 5 to 6 and watch the model rebuild itself: F has 1 day of float, so that one extra day is exactly absorbed. F's float falls to zero, the path through D and F becomes critical alongside A → C → E → G, and the project still takes 14 days. Push F to 7 and the project slips to 15 with a single new critical path through D and F. Answering "what if this activity runs late" by editing one cell is exactly what the syllabus means by solving related problems with a spreadsheet.
To model a project in a spreadsheet, list activities so each sits below its predecessors, then use one formula per column: EFT = EST + duration, EST = MAX of predecessors' EFTs, LFT = MIN of successors' LSTs (the last activity's LFT is the project duration), LST = LFT − duration, float = LST − EST, and critical when float = 0. Check that no float is negative and that the critical durations add to the project duration.
Pause, copy the six column formulas in order, and copy the three checks: no negative float, the critical activities form an unbroken chain, and the critical durations must add to the largest EFT.