AND
AND(a, b, …)
TRUE when every condition is TRUE, such as a task that is both critical and long. A blank condition doesn't count as FALSE: one FALSE makes the result FALSE whatever else is blank, but TRUE with a blank is blank, because the blank could have gone either way. You can also write it between two conditions: [Critical] AND [Duration] > 20d.
Arguments
| Argument | What to give it |
|---|---|
| a, b, … | One or more TRUE/FALSE values: comparisons, or yes/no fields like [Critical]. |
Examples
Formula=AND([Critical], [Duration] > 20d)
Long critical tasks: the ones worth breaking down first.
Formula=AND([Status] <> "Complete", [Finish date] < DATADATE())
Tasks that should have finished by the data date and haven't.
Measure (on the project)=AND(COUNT(FILTER(Tasks, Tasks[Total float] < 0d)) = 0, COUNT(FILTER(Tasks, Tasks[Critical])) > 0)
As a measure: TRUE when no task has negative float and the schedule has a critical path.
Reach for something else when
| You want | Use |
|---|---|
| Any of the conditions, not all | OR |
| TRUE when a condition holds for every row of a set, such as every predecessor | EVERY |
| The opposite of a condition | NOT |
Common questions
What does "AND needs TRUE/FALSE values" mean?
One of the arguments is a number, a date or text. Compare it with something to make it TRUE or FALSE: [% complete] > 0, not [% complete].
=AND([Critical], [% complete])
Can AND check every predecessor?
Not by itself: AND(Predecessors[Critical]) is refused, because a list of TRUE/FALSE values needs reducing to one. Use EVERY: EVERY(Predecessors[Critical]).
Why is AND blank on some rows?
One condition was TRUE and another blank. AND([Critical], [% complete] > 50) is blank on a critical task with no % complete, and FALSE on a task that isn't critical. See blanks and errors.
