SETTING
SETTING("name")
Names a project setting to change in a what-if, such as the data date or a must-finish-by date, and is followed by its new value. It only means something inside WHATIF: on its own it isn't a value, and the editor refuses it. A setting is one value for the whole project, so the value can't depend on the row.
Arguments
| Argument | What to give it |
|---|---|
| "name" | One of the settings below, written out as text. |
The value that follows it:
| Setting | Its value |
|---|---|
"Data date" | A date. |
"Must finish by" | A date, or BLANK() for none. A date with no time of day is the end of that day's work. |
"Out-of-sequence progress" | "Retained logic", "Progress override" or "Actual dates". |
"Critical path" | "Longest path" or "Total float". |
Examples
Formula=IN(WHATIF(SETTING("Must finish by"), DATE(2026, 2, 27)), [Total float])
Each task's float against a deadline of 27 February 2026, measured to that date instead of to the project's finish. Negative float means the work as planned misses it.
Formula=IN(WHATIF(SETTING("Out-of-sequence progress"), "Progress override"), [Finish date]) <> [Finish date]
Which tasks would move if out-of-sequence progress were scheduled with progress override.
Measure (on the project)=WORKDAYS([Finish date], IN(WHATIF(SETTING("Data date"), ADDWORK(DATADATE(), 10d)), [Finish date]))
As a measure: how far the project finish slips if nothing progresses for the next ten working days.
Reach for something else when
| You want | Use |
|---|---|
| To change tasks: a duration, a constraint, a calendar | WHATIF with the tasks and their fields |
| Float to a milestone instead of to the project's end | FLOATTO |
| The schedule's current data date | DATADATE |
Common questions
Why does ADDWORK need a calendar in a setting's value?
On a task row, ADDWORK counts on each task's own calendar, so the result could differ from task to task, and a setting is one value for the project. The editor says: "SETTING("Data date") is one value for the project, but ADDWORK and WORKDAYS count on each task's own calendar. Name one: ADDWORK(…, 5d, "Standard")". On the project's row there is only one calendar to count on, so the measure above needs none.
The editor refuses this=IN(WHATIF(SETTING("Data date"), ADDWORK(DATADATE(), 10d)), [Finish date])
Can each task have its own data date?
No: "SETTING("Data date") is one value for the project; this differs between tasks. A what-if can differ between rows only in the tasks it changes and their new values".
