ArrayFormula and "AND" Formula in Google Sheets

Hossein picture Hossein · Apr 30, 2017 · Viewed 17.8k times · Source

In Google Sheets, when using ArrayFormula with AND formula, I don't get the results as it should be.

A|B
2|7

In C1 I put formula as: =and(A1>5,B1>6) then I get True. If in D1 I put formula as: =ArrayFormula(and(A1:A>5,B1:B>6)) I get the results as False.

Here are my two questions:

  1. Why is ArrayFormula not repeated for all cells in the column?
  2. Why do I get true without ArrayFormula and False with Arrayformula?

Answer

Robin Gertenbach picture Robin Gertenbach · Apr 30, 2017

AND doesn't work with that way with Array formulae because it ANDs the whole array together in the top left cell of the regardless of number of dimensions.

I.e. it checks if "">"" which is FALSE, ANDed with anything it will return FALSE for the top left cell, that result is carried down.

You can use multiplication of truth values to create ANDing that works with ARRAYFORMULA like this:

=ArrayFormula((A1:A>1)*(B1:B>6) = 1)

The OR equivalent would obviously be

=ArrayFormula((A1:A>1)+(B1:B>6) > 0)