[identity profile] prine75.livejournal.com posting in [community profile] useful_faq
Здравствуйте. Как составить такую формулу в электронной таблице, чтобы она высчитывала среднее, при этом исключая аргументы, не удовлетворяющие критерию? Например, у меня есть 1; 0; 2. Мне надо, чтобы считалось не (1+0+2)/3=1, а чтобы отсеялся 0 и считалось (1+2)/2=1,5. Сама я что-то не дотумкиваю, получаю все время сообщение об ошибках. Редактор OpenOffice Calc, если что. Спасибо.

UPD. Спасибо коллективному разуму, два варианта найдены. Валять балду в праздники отменяется, пойду работать.

Date: 2013-01-05 07:47 am (UTC)
From: [identity profile] fair-lady.livejournal.com
Если методологически, то сделать второй столбик, в котором через операнд "если" все, не соответсвующие критерию значения из первого столбика - обнулить. Сделать третий столбик, в котором все, не соответствующие критерию значения обнуляются, а соответствующие - приравниваются к единице. Сумму первого столбика разделить на сумму второго.
Вероятно, есть менее громоздкие методы, если использовать какие-нибудь опции функции среднего или надстройки.

Date: 2013-01-05 07:54 am (UTC)
From: [identity profile] tank-driver.livejournal.com
Тогда уж - второй столбец: 1 - если удовлетворяет критерию, 0 - если не удовлетворяет.
Формула в таком случае: Сумма(произведений значение из первого столбца на значение из второго) разделить на сумму второго столбца.

Date: 2013-01-05 07:56 am (UTC)
From: [identity profile] fair-lady.livejournal.com
Можно и так. Я просто не знаю, какие формулы и операторы в ОпенОффисе, единственный раз видела.

Date: 2013-01-05 08:08 am (UTC)
From: [identity profile] tank-driver.livejournal.com
Можно проще:

=SUMIF(A1:A6;">0")/COUNTIF(A1:A6;">0")

суммировать все в диапазоне A1-A6 если содержимое ячейки больше нуля; разделить на количество ячеек в диапазоне A1-A6 содержимое которых больше нуля.

Соответственно, критерий может быть другим, самое главное, что бы он был в кавычках.
Edited Date: 2013-01-05 08:09 am (UTC)

Date: 2013-01-05 08:46 am (UTC)
From: [identity profile] dr-trans.livejournal.com
Функция СРЗНАЧ() игнорирует пустые ячейки в массиве, т.е. ячейки, в которых нет ни значения, ни нуля.
Ну а это можно сделать через СУММ с оператором ЕСЛИ, и автоматически менять ) на букву или прочерк, чтобы он не учитывал клетку. Т.е. играться надо не с функцией среднего значения, а с суммами.