请原谅我对我的问题的不良解释,我们将非常感谢任何见解。
我使用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”)时,可以在数据列旁边有一个计数功能),然后我可以简单地使用平均偏移量与结果值来得到所需的平均值?
答案 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中
非常感谢你的帮助