Excel:平均IF

比方说,我有一个Excel表,如:

第1栏包含工资
第2栏包含性别(男/女)

我如何计算女性的平均工资?

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

作为数组函数input(即使用Shift-CTRL-Enter而不是Enter)

所有的答案已经答案/接受我不能拒绝加我2美分:

总和和平均值通常显示在列表的底部。 您可以使用SUBTOTAL()函数来计算总和和平均值,并指定包含或排除“隐藏”值,即filter所抑制的值。 所以解决scheme可能是:

  • 创build一个公式=SUBTOTAL(101,A2:A6)的平均值
  • 为总和创build一个公式=SUBTOTAL(109,A2:A6)
  • 在“性别”列上创build一个自动筛选器

现在,当过滤“F”,“M”或全部时,总是会计算正确的总和和平均值。

希望有所帮助 – 祝你好运

要做到这一点没有数组公式只需使用这个:

 =SUMIF(B:B,"F",A:A)/COUNTIF(B:B,"F") 

回答的问题,坚实的公式 – 但 – 小心有条件的平均值基于数字

在一个非常相似的情况下我尝试了:

“=平均(IF(F696:F824 <0; E696:E824))”(换档控制input) – 用英语表示,如果列F中的结果为负值) – 例如“计算所有损失发生的项目的平均值”。 (无循环参考)

当被要求计算一个增益 (x> 0)发生的所有项目的平均值时,Excel是正确的。 但是,当条件平均值是基于亏损的时候–Excel产生了一个巨大的误差(7.53而不是28.2​​7)。

然后,我在Open Office中打开完全相同的文档,其中Calc从相同的Array公式得到了(正确)28,27的答案。

在Excel中逐步重新计算整个事件(仅损失的第一个新列,仅用于收益的新的列,仅出现损失/收益的E值的新列,然后是“干净的”(无条件的)平均值计算)产生正确的值。

因此,应该注意的是,Excel和Open Office在某些条件平均值的情况下会产生不同的答案(Excel 2007,瑞典语版本,错误)。

(对不起,我的长期警示故事 – 但要小心,当条件是一个数字将是我的build议)

您可以将filter放在工作表的顶部。 然后从Column2中仅筛选F s,然后计算值的平均值。

或者,您也可以仅添加女性工资额外的列。

公式将如下:= IF(B1 =“女”; A1)

然后你只需计算新创build的列的平均值。

薪金性别
2500 M 0 2500 * 0
2400 F 1 2400×1
2300 F 1 2300×1
sum = 2 sum = 4700 average = 4700/2

也许这是复杂的。