我有一堆连续的行,我试图根据标准对最后的90行进行平均。平均值需要在单个单元格中,而不是计算运行平均值的列。我想出了如何计算最后90行的平均值,但是我无法在平均之前正确添加if函数以满足条件。
数据:
sale type (b) Data(c) Rownumber (E)
a 45 1
b 35 2
c 36 3
c 56 93
以下是正常工作AVERAGE(OFFSET(E2,COUNTA(E:E)-1,-2,-90)).
以下是我尝试运行的AVERAGEIF
函数,它提供的数据不正确:
=AVERAGEIF(B:B,I15,OFFSET(E2,COUNTA(E:E)-1,-2,-90))
在这种情况下, I15
单元格是我想要匹配的促销类型。
提前感谢您的帮助!
答案 0 :(得分:1)
=AVERAGEIF(OFFSET(B2,COUNTA(E:E)-2,0,-90),$I$15,OFFSET(C2,COUNTA(E:E)-2,0,-90))
首先:你需要" -2"而不是" -1"从你的行开始,你没有得到最后的90分-1(通过将数据中的记录改为" 999"在郊区测试它。你会看到它拿起来AVG发生巨大变化时的那个值。)
第二:你和范围必须匹配..高度无论如何。因此,在两者中使用相同的偏移公式。
要稍微优化一下,你可以计算出#34; COUNTA(E:E)-2"在另一列中,命名它,然后在两种情况下都引用它(这样Excel只计算一次,而不是两次)。 ;)
另外,如果I15单元格是单个单元格,那么您可能需要15美元才能安全。在这种情况下,我不认为这很重要,只是习惯于将单个隔离的单元格做到不属于某个范围:)
答案 1 :(得分:0)
如果你在E栏中确实有(数据的)行号,你可以使用AVERAGEIFS
,只使用基于E栏的其他标准,如下所示:
=AVERAGEIFS(C:C,B:B,I15,E:E,">"&MAX(E:E)-90)