ANY
ANY(list)
TRUE when at least one value in a list of TRUE/FALSE is TRUE, such as whether any predecessor is critical. With no values it is FALSE, so a task with no predecessors is FALSE rather than blank, and a blank in the list never counts as TRUE.
Arguments
| Argument | What to give it |
|---|---|
| list | A list of TRUE/FALSE read from a set of rows: a field like Predecessors[Critical], or a comparison like InLinks[Lag] < 0d. Blanks are skipped. |
Examples
Formula=ANY(Predecessors[Critical])
TRUE when at least one of the task's predecessors is on the critical path.
Formula=ANY(InLinks[Lag] < 0d)
TRUE when a link into the task has a lead (a negative lag): a guardrail many reviewers ask for.
Formula=ANY(Assignments[Resource] = "Crane")
TRUE when the crane is assigned to the task. Text is compared ignoring case.
Formula on WBS rows=ANY(Tasks[Critical])
On a WBS row: TRUE when any task in the node or below it is critical.
Reach for something else when
| You want | Use |
|---|---|
| Whether every value is TRUE | EVERY |
| How many are TRUE | COUNT(FILTER(…)): see COUNT |
| Whether a particular task is in a set | INCLUDES |
| Either of two single conditions on this row | OR |
Common questions
What does "ANY needs a list of TRUE/FALSE, e.g. ANY(Predecessors[Critical])" mean?
The list held something other than TRUE/FALSE, such as durations. Compare it to make it a list of TRUE/FALSE.
The editor refuses this=ANY(Predecessors[Total float])
ANY(Predecessors[Total float] < 5d) asks whether any predecessor has less than five days of float.
Why is ANY FALSE when a predecessor's float is blank?
A comparison with a blank is blank, not TRUE, and ANY skips blanks. A complete predecessor has no float, so it never makes ANY(Predecessors[Total float] < 5d) TRUE.
