Вы делаете это с чем-то вроде:
=ARRAYFORMULA(AVERAGE(IF(Sheet1!D2:D8<0,Sheet1!D2:D8, 0)))
где столбец D - это сумма вашего примера, а Sheet1 содержит "транзакции" вашего примера.
Если вы хотите заполнить ее для сводной таблицы (с категорией в качестве другого критерия), вы можете проверить ответ по адресу: https://stackoverflow.com/a/9165254/179529
=SUM(ARRAYFORMULA(((Transactions!$A2:$A)=$A2) * ((Transactions!$D2:$D)>0) * (Transactions!$D2:$D) ))
/
SUM(ARRAYFORMULA(((Transactions!$A2:$A)=$A2) * ((Transactions!$D2:$D)>0) * (1) ))
, где $A2
- это ячейка, в которой у вас есть имя категории в сводной таблице ($ позволит вам скопировать формулу в другие столбцы, для которых вы хотите использовать ее в месяц или другой второй критерий.
Если вы хотите суммировать элемент в столбце D, только если он больше 0, вам нужно иметь ((Transactions!$D2:$D)>0)
в качестве второго аргумента и (Transactions!$D2:$D)
в качестве третьего аргумента (в противном случае вы будете считать ячейки вместо SUM их ).
Поскольку AVERAGE также будет принимать пустые ячейки, я использовал вместо этого SUM / COUNT. Обратите внимание, что COUNT на самом деле SUM с 3-м аргументом, равным 1.
Также обратите внимание, что если вы хотите игнорировать строку заголовка, вам нужно определить столбцы с помощью Transactions!$D2:$D
, чтобы начать со 2-й строки.