Excel: СРЕДНЕЕ, ЕСЛИ

Допустим, у меня есть лист Excel, такой, что:

Столбец 1 содержит данные о зарплате
Столбец 2 содержит данные о поле (муж/жен).

Как рассчитать среднюю зарплату для женщин?


person Caner    schedule 16.03.2011    source источник


Ответы (7)


=AVERAGE(IF(B1:B10="F",A1:A10))

вводится как функция массива (т.е. с использованием Shift-CTRL-Enter, а не просто Enter)

person Mark Baker    schedule 16.03.2011
comment
хорошо, изменил , после F на ;, но теперь он показывает #VALUE! и говорит, что значение, используемое в формуле, имеет неправильный тип - person Caner; 16.03.2011
comment
после исправления запятой, введенной как функция массива, и это сработало. Благодарность - person Caner; 16.03.2011
comment
На самом деле использовал это: =(SUM(IF(B1:B10="F";A1:A10;0))/(SUM(IF(B1:B1="F";1;0)))) - person Caner; 16.03.2011
comment
На самом деле для этого есть функция, называемая AVERAGEIF(). ОП должен использовать =AVERAGEIF(B1:B10,"=F",A1:A10). - person chharvey; 24.09.2012

Несмотря на то, что ответ уже дан/принят, я не могу не добавить свои 2 цента:

Суммы и средние значения обычно отображаются внизу списка. Вы можете использовать функцию ПРОМЕЖУТОЧНЫЕИТОГИ() для вычисления суммы и среднего значения и указать, следует ли включать или исключать «скрытые» значения, т. е. значения, подавленные фильтром. Таким образом, решение может быть:

  • создайте формулу =SUBTOTAL(101,A2:A6) для среднего
  • создайте формулу =SUBTOTAL(109,A2:A6) для суммы
  • создать автофильтр в столбце «Пол»

Теперь, когда вы фильтруете «F», «M» или все, всегда будет вычисляться правильная сумма и среднее значение.

Надеюсь поможет - удачи

person MikeD    schedule 21.03.2011

Чтобы сделать это без формулы массива, просто используйте это:

=SUMIF(B:B,"F",A:A)/COUNTIF(B:B,"F")
person Lance Roberts    schedule 30.05.2011

Ответ на вопрос, твердые формулы - НО - остерегайтесь условных средних значений, основанных на числах:

В очень похожей ситуации я пробовал:

"=СРЗНАЧ(ЕСЛИ(F696:F824‹0;E696:E824))" (управление сдвигом ввода) - на английском языке это просит Excel вычислить среднее значение для всех чисел в столбце E, если результат в столбце F был отрицательным (потеря ) - напр. «рассчитать среднее значение для всех элементов, где произошла потеря». (без циклической ссылки)

Когда Excel попросили вычислить среднее значение для всех элементов, где произошло выигрыш (x>0), все было сделано правильно. Однако когда условное среднее основывалось на проигрыше — Excel выдавал огромную ошибку (7,53 вместо 28,27).

Затем я открыл точно тот же документ в Open Office, где Calc получил (правильный) ответ 28,27 из той же формулы массива.

Пошаговый пересчет всего в Excel (первый новый столбец только для потерь, новый только для выигрышей, новый столбец только для E-значений, где произошла потеря / прибыль, затем «чистый» (безусловный) расчет среднего дал правильные значения .

Таким образом, следует отметить, что Excel и Open Office дают разные ответы (и Excel 2007, версия на шведском языке, дает их неправильно) в некоторых случаях условных средних значений.

(извините за мой длинный предостерегающий рассказ - но будьте немного осторожны, когда условие - это число, было бы моим советом)

person Jacob Stalhammar    schedule 12.10.2011

Вы можете поместить фильтр в верхнюю строку вашего листа. Затем отфильтруйте только Fs из Column2, затем рассчитайте среднее значение.

person Mihran Hovsepyan    schedule 16.03.2011

Или вы можете добавить дополнительный столбец только с женскими зарплатами.

Формула будет выглядеть так: = ЕСЛИ (B1 = «Женщина»; A1)

Затем вы просто вычисляете среднее значение вновь созданного столбца.

person Weronika    schedule 16.03.2011

Заработная плата пол
2500 M 0 2500*0
2400 F 1 2400×1
2300 F 1 2300×1
сумма =2 сумма=4700 средняя=4700/2

Может быть, это сложно.

person x16man    schedule 16.03.2011