Ну, наверное, это
MMULT
результатов
MMULT
=INDEX(
MMULT(
N(ARRAY_CONSTRAIN(C2:Z/(MMULT(TRANSPOSE(ROW(C2:Z)^0);N(C2:Z)));
MATCH(2;1/(B2:B<>"");1);
MATCH(2;1/(C1:1<>"");1)));
SEQUENCE(MATCH(2;1/(C1:1<>"");1);1)^0)/MATCH(2;1/(C1:1<>"");1)
)
Пример и полезные ссылки в
Таблице.
Техника
MATCH(2;1/(B2:B<>"");1)
может быть избыточна в том смысле, что это поиск последнего действительного значения для обрезки. Если вы будете содержать последовательности заголовков событий и игроков без пробелов, то действительно следующее
=INDEX(
MMULT(
N(ARRAY_CONSTRAIN(C2:Z/(MMULT(TRANSPOSE(ROW(C2:Z)^0);N(C2:Z)));
COUNTA(B2:B);
COUNTA(C1:1)));
SEQUENCE(COUNTA(C1:1);1)^0)/COUNTA(C1:1)
)
Диаграмма на скрине приведена неслучайно. Она показывает, что общий вес расчета равен 100%, как проверка.
С скриптом не стал заморачиваться, но, доверяя
Григорий Боев, думаю, что пользовательская функция при должной проработке будет более гибкой. Выбор зависит от конечной цели и циклов проработки результатов и будущих улучшений Таблицы.