Суммирование каждой строки в массиве (Google Sheets) - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть сложная формула, которая производит массив (10 + строк и 10 + столбцов). Для простоты, давайте просто скажем, что это =unique(a1:z10)

Я ищу формулу, которая может counta() каждая строка массива в отдельности. В основном он должен возвращать массив из 1 столбца, который считает количество значений в каждой строке. Потому что затем я заверну это в функцию max(), чтобы увидеть наибольшее количество среди них всех.

Спасибо, ребята. Я надеюсь, что мой вопрос понятен. Дайте мне знать, если понадобятся дальнейшие разъяснения.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

Стандартный способ получения итоговых значений строки m для массива n столбцов:

=mmult(<array>,<colvector>)

, где <array> - массив чисел, а <colvector> - массив, состоящий из n строк и одного столбца. wide, содержащий все единицы.

Стандартный способ получения <colvector> для диапазона -

=row(<range>)^0

, но это не работает для массива, поскольку вы можете использовать только функцию строки с диапазон.

Так что я думаю, вам нужно сгенерировать <colvector> другим способом - самый простой способ - использовать Sequence, но, к сожалению, это означает, что нужно повторить формулу для <array>, чтобы получить количество столбцов.

Пример

Предположим, мы выбрали это как наш сложный массив:

=ArrayFormula(if(mod(sequence(10,10),8),"",sequence(10,10)))

массив 10 X 10 с некоторыми пробелами в нем.

Вся формула для получения количества строк будет выглядеть следующим образом:

=ArrayFormula(mmult(n(if(mod(sequence(10,10),8),"",sequence(10,10))<>""),
sequence(columns(if(mod(sequence(10,10),7),"",sequence(10,10))))^0))

enter image description here

0 голосов
/ 04 апреля 2020

попробуйте:

=MAX(ARRAYFORMULA(MMULT(IFERROR(LEN(B:K)/LEN(B:K), 0), TRANSPOSE(COLUMN(B:K)^0))))

0

, если вы хотите сделать все это за один шаг, используйте:

=MAX(ARRAYFORMULA(MMULT(IFERROR(LEN(B:K)/LEN(B:K), 0), 
 ROW(INDIRECT("A1:A"&TRANSPOSE(COLUMNS(B:K))))^0)))

где вы заменяете B: K диапазоны своей формулой, которая выводит массив

...