# How to set a status based on start and end dates in Excel

Check the last stage first: =IF(C2<>"","Done",IF(B2<>"","In progress","Not started")).

**Excel:** `=IF(C2<>"","Done",IF(B2<>"","In progress","Not started"))` (Every current version)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C | D |
| --- | --- | --- | --- |
| Task | Started | Finished | Status |
| Copywriting | 2026-10-05 |  |  |
| Logo | 2026-10-01 | 2026-10-08 |  |
| Photos |  |  |  |
| Print run |  |  |  |
| Style guide | 2026-10-12 | 2026-10-27 |  |

Formula in D2, filled to D6: `=IF(C2<>"","Done",IF(B2<>"","In progress","Not started"))`

Result: In progress; Done; Not started; Not started; Done

## How it works

The finish date is tested first. A finished task also has a start date, so testing the start first would label it "In progress". Only when neither date is filled in does the formula reach "Not started".

## Other ways

- `=IFS(C2<>"","Done",B2<>"","In progress",TRUE,"Not started")`: The same rules as an IFS list, in the same order.

## Common mistakes

- Test the last stage first, as here, or finished tasks get stuck on an earlier status.
- A cell containing a space isn't empty and counts as a date entered. Clear stray spaces.

## Questions

**How do I add an "Overdue" status?**

With a due date in column E, add a test before "In progress": `=IF(C2<>"","Done",IF(TODAY()>E2,"Overdue",IF(B2<>"","In progress","Not started")))`.

**How do I count tasks by status?**

`=COUNTIF(D2:D6,"In progress")`.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/status-from-start-and-end-dates
