"重置" Excel中的平均值

时间:2015-03-04 17:21:14

标签: excel

请原谅我对我的问题的不良解释,我们将非常感谢任何见解。

我使用excel中的平均值,从固定单元格开始并填充。 例如:列B包含值,列C包含公式= AVERAGE($ B $ 1:B1)填充,因此在第10行,公式为= AVERAGE($ B $ 1:B10)

我想知道是否有办法计算这个平均值,当A列中的值发生变化时,它会“重置”。使用IF函数获取A列是否更改的公式很容易,但我不知道在平均“重置”时如何更改参考单元格。我尝试使用公式附加图像,但我没有10个声誉,所以这里是一个简短示例表的链接:

https://drive.google.com/file/d/0BymZUcneHsYgUnRoYkRkdnJYbmM/view?usp=sharing

如果可能,我希望在没有VBA的情况下完成此任务。

非常感谢你。

编辑:当列A从“A”切换到“B”(或“B”到“A”)时,可以在数据列旁边有一个计数功能),然后我可以简单地使用平均偏移量与结果值来得到所需的平均值?

3 个答案:

答案 0 :(得分:1)

您应该使用= AVERAGEIF函数。

=AVERAGEIF($A$1:A1,A1,$B$1:B1)

答案 1 :(得分:0)

您可以使用Indirect来解析自定义范围。由于" A"可以在不同的块中多次出现,您必须添加一个额外的列来跟踪每个范围的起始行:

(starting from row 2, [C1] = 1)
=IF(A2<>A1,ROW(A2),C1)

结果将列在&#34; D&#34; :

=AVERAGE(INDIRECT("B"& C1 &":B"&ROW(A1)))

答案 2 :(得分:0)

以下是我最终解决这个问题的方法:

我使用= ROW() - MAX(INDEX((A $ 1:A2&lt; A2))* ROW(A $ 1:A2),0倒计时直到“A”变为“B”,反之亦然,然后使用= ROW() - MAX(INDEX((A $ 1:A2&lt; A2))* ROW(A $ 1:A2),0来平均具有在前一公式中计算的偏移量的数据。

请注意,数据仍在B列中,A列中带有“A”或“B”,这两个公式分别放在I和J中

非常感谢你的帮助