Подскажите почему не работает формула, ожидал: что будет выводится массив булевых значений относительно столбца D, Реальность : выводится 1 значение в ячейку с формулой. И как правильно записать формулу?
Всем привет.
Код
=ArrayFormula(And(D2:D>50;D2:D<90))
Подскажите почему не работает формула, ожидал: что будет выводится массив булевых значений относительно столбца D, Реальность : выводится 1 значение в ячейку с формулой. И как правильно записать формулу?Kashimirush
По традиции подобных вычислений AND заменяется умножением (*), а OR - сложением (+). Общий результат получившегося выражения сравнивается с 0: больше 0 = TRUE, иначе = FALSE.
ожидал: что будет выводится массив булевых значений относительно столбца D
Функции AND() и OR() при любых раскладах возвращают только одно значение, вычисленное по всем условиям внутри их скобок. Точно так же возвращает одно (общее) значение и функция SUM при обоих написаниях ниже:
Код
=ArrayFormula(SUM(D2:D;D2:D))
Код
=SUM(D2:D;D2:D)
Версия же со знаком + вместо SUM вернет как раз построчные суммы:
Код
=ArrayFormula(D2:D+D2:D)
Можно еще короче, без явного IF:
Код
=ArrayFormula((D2:D>49)*(D2:D<90)>0)
По традиции подобных вычислений AND заменяется умножением (*), а OR - сложением (+). Общий результат получившегося выражения сравнивается с 0: больше 0 = TRUE, иначе = FALSE.
ожидал: что будет выводится массив булевых значений относительно столбца D
Функции AND() и OR() при любых раскладах возвращают только одно значение, вычисленное по всем условиям внутри их скобок. Точно так же возвращает одно (общее) значение и функция SUM при обоих написаниях ниже:
Код
=ArrayFormula(SUM(D2:D;D2:D))
Код
=SUM(D2:D;D2:D)
Версия же со знаком + вместо SUM вернет как раз построчные суммы: