计算不包括当前观察值的平均值

除了目前的观测值,我如何计算均值(或任何其他汇总统计量)?

例如,我有以下数据:

价值类别

1 - 5 - 1

2 - 5 - 1

3 - 9 - 1

4 - 2 - 2

5 - 2 - 2

我想计算每个类别的平均值(egen value_mean = mean(value),by(category)),但排除第i个观察值:例如,对于i = 1,类别1的平均值为5 + 9)/ 2。 对于i = 3,它将是(5 + 5)/ 2。 对于i = 4,这将是2/1。

有各种线程在线匹配我的问题,最接近的是这一个 ,但我不明白的解释,我会需要在Excel中的东西,而不是任何语言。

我的数据范围是整列,到目前为止的公式是这样的:

=AVERAGEIFS(A:A,D:D,D3,E:E,E3,AP:AP,AP3)

但是正如你所看到的,它不排除目前的观察,即A3中的值。

应该有一个简单的解决scheme,任何帮助表示赞赏。

虽然你可以切换到SUMPRODUCT以便能够创build公式所在的行的明确引用(在SUMIF不可能),但我可能更喜欢略长一点的:

=(SUMIFS(A:A,D:D,D3,E:E,E3,AP:AP,AP3)-A3)/(COUNTIFS(D:D,D3,E:E,E3,AP:AP,AP3)-1)

这保留了这些function优于SUMPRODUCT的优点,因为可以参考任意大的范围而不损害性能。

问候