Электронные таблицы Уменьшить JS Как функция с 2d диапазон? - PullRequest
1 голос
/ 31 марта 2020

У меня есть этот макет листа:

initial layout

Я хотел бы поместить функцию в ячейку A2 и получить это:

desired result

Цель состоит в том, чтобы в столбце A получить количество вхождений B7 в каждой строке. Моя цель - иметь возможность изменить ТИП (B7) и пересчитать.

Я знаю, что это легко, если я помещу функцию в каждую ячейку A2: A6, но Мне нужно иметь возможность вычислить результат массива с одной функцией на A2 (мои вычисления более сложны, чем представленные, я упрощаю их, чтобы сделать их как можно более простыми).

Я пытался использовать следующая функция в A2:

=arrayformula(countifs(filter(C2:G6;B2:B6=B2);B$7))

С помощью этой формулы я попытался отфильтровать каждую строку и вычислить количество вхождений в каждом, но показатели работают в 2-мерном диапазоне и возвращают один элемент как результат (со всеми вхождениями только для первой строки)

Я также знаю, что могу вычислить свой вывод, используя пользовательскую функцию JS, но я хотел бы знать, есть ли у кого-нибудь решение с использованием собственных функций электронных таблиц.

1 Ответ

1 голос
/ 31 марта 2020

попробовать:

=ARRAYFORMULA(IF(LEN(B2:B6), 
 MMULT(IFERROR(C2:G6=B7, 0)*1, TRANSPOSE(COLUMN(C2:G2)^0)), ))

0

...