Я хотел бы знать, имеет ли libreoffice calc функциональность для вычисления условного среднего по непересекающимся ячейкам. Примером может быть: Рассчитать среднее значение для каждой второй ячейки в строке 1, если строка 2 не содержит x.
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9
--------------------------------------------------
Row1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Row2 | x | x | | | | x | x | |
Начиная с С1, результат должен быть: среднее (3, 5, 9) = 5,666666 Начиная с С2, результат должен быть: среднее (4, 8) = 6
Хотя есть решение, использующее операторы IF для каждой ячейки, я хотел бы знать, есть ли более удобный способ сделать это. Я уже искал решение, такое как LOOKUP или COUNTIF, но все эти функции нуждаются в последовательном диапазоне в качестве входных данных и условий.
Я надеюсь, что кто-то может помочь.
[РЕДАКТИРОВАТЬ]: Ответ
Я наконец нашел решение самостоятельно. Ответ заключается в использовании функции SUMPRODUCT
в дополнение к другой строке или функции MOD
:
=SUMPRODUCT(MOD(COLUMN(C1:C9), 2)=0, C1Row2:C9Row2<>"x", C1Row1:C9Row1)/SUMPRODUCT(MOD(COLUMN(C1:C9), 2)=0, C1Row2:C9Row2<>"x")