Расширение ARRAYFORMULA в столбце с использованием COUNTIF с горизонтальными диапазонами в качестве параметра - PullRequest
0 голосов
/ 10 января 2020

У меня есть лист, где я хотел бы разделить значения, перечисленные в одном столбце (столбец A), на значение 1-6 в зависимости от того, являются ли какие-либо из 6 условий (в столбцах B - G) истинными или ложными для значение в данной строке.

Пример снимка экрана здесь

В настоящее время я делаю это с отдельной формулой для строки, подсчитывая количество истинных условий и затем используя это как делитель. Таким образом, для строки 2 формула будет выглядеть следующим образом:

=A2/COUNTIF((B2:G2),TRUE)

Но мне интересно, можно ли выполнить работу с помощью одной формулы массива, которая может быть расширена вниз по строкам. Что-то вроде:

=ARRAYFORMULA(A2:A27/COUNTIF((B2:G2),TRUE))

Однако я не могу найти способ заставить формулу COUNTIF работать в этом случае ... она всегда использует значение только для первой строки или всего массива, а затем по одной строке для каждой строки.

Надеюсь, что это имеет смысл. Вот пример листа , чтобы лучше представить проблему.

Оцените любой ввод!

Ответы [ 2 ]

0 голосов
/ 11 января 2020

Это немного проще и должно работать. = ARRAYFORMULA (ЕСЛИ (A2: A = "" ,, A2: A / MMULT (N (B2: G), {1; 1; 1; 1; 1; 1})))

вот mmult demo Я построил некоторое время назад, если вам интересно. https://docs.google.com/spreadsheets/d/145JG2rqYMe6HSPnluppc7kIezVyWw6CpmC5GjLgb_yE/edit#gid = 0

0 голосов
/ 10 января 2020

Вдохновленный { ссылка }

→ кажется, что это работает:

=ArrayFormula($A$2:$A$27/countifs(iF(COLUMN($B$2:$G$2),ROW($B$2:$B$27)),ROW($B$2:$B$27),$B$2:$G$27,TRUE))
...