On Track or At Risk (Formula)
This calculated column uses a SharePoint formula to label progress as Done, On Track, or At Risk based on percent complete. Because it lives in a calculated column, SharePoint fills the value in for every item automatically - no custom development and nothing for your users to type.
How It Works
- What it does: Turns a % Complete number into a status label.
- What you get: Done at 100%, On Track at 50 to 99%, and At Risk below 50%.
- If a value is missing: If % Complete is blank it reads as 0, so the item shows At Risk.
Common Use Cases
- Project health from completion
- Delivery-status views
- Progress dashboards
- Risk flagging
Details
- Formula Type: Calculated Column
- Formula Category: Status & Progress
Required Columns
| Display name | Column type |
|---|---|
| Complete | Number |
| On Track or At Risk | Calculated |
Prerequisites
- Create the column the formula reads: Complete
- Add or edit a few items so there is data for the formula to work with
How to Apply the Formula
- Add a column, choose More…, then select Calculated (calculation based on other columns)
- Set the data type returned from this formula to Single line of text
- Paste the formula below into the Formula box
- Click OK to create the column
Formula
=IF([% Complete]>=1,"Done",IF([% Complete]>=0.5,"On Track","At Risk"))
Common Questions About On Track – At Risk From % Complete Formula
What does this formula do?
Health from % complete. It lives in a calculated column, so SharePoint fills the value in automatically for every item.
Which columns do I need to set this up?
You need: % Complete (Number). The formula reads these to produce its result.
Can I change the formula for my own columns?
Yes. Swap the column names in brackets for your own, and adjust any numbers or text.
If LookBook 365 is code-free and out-of-the-box, why does this example use a formula?
A SharePoint formula is native, declarative configuration, not custom development. It only works with the item’s own fields and simple logic – it cannot run scripts, reach external services, or change other data, and nothing is deployed to your tenant. It keeps working through Microsoft updates. If you would rather not set this up yourself, this is exactly the kind of thing I configure for clients.
