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

ArgumentWhat 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 wantUse
Any of the conditions, not allOR
TRUE when a condition holds for every row of a set, such as every predecessorEVERY
The opposite of a conditionNOT

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].

The editor refuses this
=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.