Как суммировать значения строк на основе запроса в другом столбце этой строки? - PullRequest
0 голосов
/ 24 января 2020

В приведенной ниже таблице я хотел бы написать запрос в каждую ячейку {calc}, который будет использовать столбец name для поиска значения и суммирования столбца на основе процента в каждой ячейке.

Например, для каждой строки в month1, month2, month3 и т. Д. c. Я бы хотел запросить другой лист на основе name, а затем подвести итоги.

Меня меньше беспокоит математика или сам запрос, но больше интересует, как ссылаться на индекс / итерацию запроса, чтобы суммировать все строки. Во время операции SUM есть ли способ сослаться на текущий индекс / строку, суммируемый, и сделать запрос на основе этого?

+----------------------+--------------+--------------+--------------+
|         name         |    month1    |    month2    |   month 3    |
+----------------------+--------------+--------------+--------------+
|                      | {calc-1}     | {calc-2}     | {calc-3}     |
| name1                | 65%          | 100%         | 85%          |
| name2                | 100%         | 100%         | 90%          |
| name3                | 100%         | 100%         | 80%          |
+----------------------+--------------+--------------+--------------+

Пример листа, где можно запускать формулы.

+-------+--------+
| name  | number |
+-------+--------+
| name1 |     10 |
| name2 |     20 |
| name3 |      5 |
+-------+--------+

Выход для {calc-1} будет СУММОМ 65% от 10, 100% от 20, 100% 0f 5 и так далее. calc-1 = 31.5 И я бы хотел запускать это каждый месяц.

Ответы [ 2 ]

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

Вы можете использовать mmult и vlookup:

=arrayformula(mmult(COLUMN(B1:D1)^0,(B3:D5*vlookup(A3:A5,A10:B12,2,0))))

enter image description here

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

если A3: A5 = A10: A12, вы можете сделать эту формулу в B2

=arrayformula(query(B3:D5*B10:B12,"select Sum(Col1), Sum(Col2), Sum(Col3) label Sum(Col1) '', Sum(Col2) '', Sum(Col3) ''"))

Иначе, вы должны изменить в качестве фактического диапазона, поэтому A3: A5 = A10: A12

Результат:

| 31,5 | 35 | 30,5 |

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...