如何计算排除的平均值(或任何其他摘要统计量) 当前的观察?
例如,我有以下数据:
我-
值-
类别
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。
网上有各种各样的线程与我的问题匹配,最接近的是[{3}},但我不明白这个解释,我需要在Excel中使用某些东西,而不是任何语言。
我的数据范围是整个列,到目前为止的公式是这样的:
=AVERAGEIFS(A:A,D:D,D3,E:E,E3,AP:AP,AP3)
但是你可以看到它并没有排除当前的观察结果,即A3中的值。
应该有一个简单的解决方案,任何帮助都表示赞赏。
答案 0 :(得分:3)
虽然您可以切换到SUMPRODUCT
,以便能够创建公式所在行的显式引用(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)
保留了这些函数超过SUMPRODUCT
的优势,因为可以引用任意大的范围而不会影响性能。
此致