使用或函数计算Excel平均值

mwg9r5ms  于 2022-11-26  发布在  其他
关注(0)|答案(5)|浏览(160)

我正在使用averageifs函数,并且有一列需要在其中一个条件为真的情况下计算平均值。
我试过使用OR函数,也试过花括号,但都给予我错误。
=平均值(N1:N612,I1:I612,{“FL”,“IF”})
有更多的范围,但这些编码是好的。
为了清楚起见,我想返回一个平均值,如果列“I”包含(特别是)字母FL,字母IF。任何其他字母应该意味着输入没有被平均。
TIA!

w8f9ii69

w8f9ii691#

AVERAGEIFS extra criteria是一个布尔AND运算符,它不能执行OR运算。但是由于你的列没有改变,我们可以自己实现它:
下面是使用数组公式的简单方法(使用ctrl + shift + enter组合键输入):

=AVERAGE(IF((I1:I612="IF")+(I1:I612="FL"),N1:N612))

或者,如果你不喜欢使用数组公式,基本上可以使用SUMPRODUCTCOUNTIF手动完成:

=SUMPRODUCT((I1:I612="IF")*(N1:N612)+(I1:I612="FL")*(N1:N612))/(COUNTIF(I1:I612,"IF")+COUNTIF(I1:I612,"FL"))
ffvjumwh

ffvjumwh2#

Chancea给出了一些很好的技巧,我将再列出一个避免数组公式的技巧,因为许多人会发现避免和积更容易阅读。

=(SUMIF(I1:I612,"FL",N1:N612)+SUMIF(I1:I612,"IF",N1:N612))/(COUNTIF(I1:I612,"FL")+COUNTIF(I1:I612,"IF"))
wi3ka0sx

wi3ka0sx3#

不要以为Excel有这个功能,但在Google Sheets中,我已经用下面的方法达到了类似的效果

=average(filter($A:$A,($C:$C=$E$6)+($C:$C=$E$7)))

给出A:A中的值的平均值,其中C:CE6E7中的值匹配
ifs/sumifs等不同,过滤器使用=,而不是逗号,因此使用$C:$C=$E$6,而不是$C:$C,$E$6
刚刚输入了数学符号(因此是<>而不是"<>"&

enyaitl3

enyaitl34#

解决这个问题的另一种方法是创建一个附加列(我们称之为列J),如果列I包含“FL”或“IF”,则该列返回TRUE:

J1 = IF(OR(I1="FL",I1="IF"),TRUE,FALSE)

然后,您可以在AVERAGEIFS公式中引用该列:

=AVERAGEIFS(N1:N612,J1:JI612,TRUE)
voj3qocg

voj3qocg5#

您问题的解决方案是:
=平均值(最大值(N1:N612,I1:I612,{“FL”;“如果”}))

相关问题