简体   繁体   中英

ArrayFormula and "AND" Formula in Google Sheets

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 ?

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

Ie it checks if "">"" which is FALSE , AND ed 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 AND ing 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)

Another a little simpler way:

=ARRAYFORMULA(
  IF(H3:H = I3:I = J3:J = TRUE; 1; 0)
)

AND doesn't go with an Arrayformula . However, there is an interesting way to use AND and OR operators without really using them.

While using arrayformula , in order to do an AND function you must multiply the 2 conditions, for example

=arrayformula(if((condition1)*(condition2), value if true, value if false)) 

Similarly using OR functions is identical EXCEPT instead of a "*" Symbol you would ADD the 2 conditions.

=arrayformula(if((condition1)+(condition2), value if true, value if false)) 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM