dikey58
@dikey58
Самоучка - web-разработчик

Как можно в Google Таблицах считать сумму строки при универсальном диапазоне — то есть суммировать построчно?

Есть google Таблицы. В ней две таблицы: "отчет по клиентам" и "Чистая прибыль на сотрудника".
Суть в том, что в таблицу "отчет по клиентам" записываются приходы и оплаты принципалу, подсчитываются агентские, налог 6% и выводится "чистый профит". В таблице "Чистая прибыль на сотрудника" в каждой строке идет распределение денег между менеджерами. Первые два идут как руководители и делят прибыль пополам, если другие менеджеры не участвовали в продаже. В колонку P:P заносится имя менеджера, участвующего в продаже, и тогда автоматически во второй таблице заносится его процент вознаграждения в столбец под его именем.
По сути надо сделать, чтобы из значения ячейки АE5 вычиталась сумма значений AG5, AH5, AI5, AJ5, AK5/
Но чтобы один раз создать формулы и больше не касаться. Чтобы если в первую таблицу добавляешь ячеек в самый верх например, а вторую оставляешь нетронутой, то не получилось, чтобы первая срока второй таблицы ссылалась на вторую строку первой после добавления ячеек.
То есть не подходят варианты
Вариант AG:AG - СУММ(AG5:AK5)
Также не подходит вариант AG:AG - СУММ(AG:AG;AH:AH;AI:AI;AJ:AJ;AK:AK), потому что если появляется новая колонка, то в каждой ячейке придется добавлять в формулу новую колонку.
А вариант AG:AG - СУММ(AG:AK) вовсе начинает считать все значения в диапазоне, а не построчно.
  • Вопрос задан
  • 3231 просмотр
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Excel
Учитель, автоэлектрик, программист, музыкант
Вообще при добавлении строки таблица сама подстраивает как надо. Но если надо зафиксировать, можно использовать функцию ДВССЫЛ. Например так:
=A1-СУММ(ДВССЫЛ("c1:1";ИСТИНА))
"c1:1" значит "строка 1 от столбца C вправо и до конца"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Невероятно сложное описание.

В общей сложности для колонок C2:F18 верно

=ARRAYFORMULA(SUMIF(IF(COLUMN(C1:F1);ROW(A2:A18));ROW(A2:A18);C2:F18))


Если же вам потребуется исключать часть колонок из общего диапазона, то я бы посоветовал MMULT.

Предыдущее решение в новой формулировке

=MMULT(C2:F18;TRANSPOSE(ARRAYFORMULA(COLUMN(C1:F1)^0)))


Или далее для каждой третьей колонки из диапазона D3:U верно

=ARRAYFORMULA(IF(ROW(D3:D11);MMULT(N(D3:U);TRANSPOSE(N(MOD(COLUMN(D3:U);3)={1;0})));))

5d75525680ede136099490.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы