我有五个类别。每个类别在第 2 行中都有一个权重,在第 3 行中有一个值。在单元格
G3
中,我想要一个计算所有类别的加权平均值的公式。
主要警告是,某些类别没有值。如果某个类别有空白值,则应将其权重平均分配给其余有值的类别,然后取加权平均值。请参阅下面的两个示例:
在此照片中,单元格
C3
缺少值。剩下 4 个类别确实有价值。因此,其权重 0.2 将以四种方式重新分配,因此其余每个类别的加权平均值权重都会增加 (02./4 =0.05)。突出显示的单元格是所需的结果。
我将用另外一个场景来进一步说明:
在上述场景中,有两个类别存在缺失值,且权重均为 0.15。有 3 个具有值的类别。因此,每个缺失的类别都会将 0.15/3 = 0.05 的权重重新分配给剩余的三个类别。因此,由于缺少 2 个类别,每个类别的权重将增加 2*0.05 = 0.1。黄色框显示正确的加权平均值。
还有一个警告,如果公式能够足够动态地适用于大于 5 个类别的范围,那就太好了。关于如何实现这样的事情有什么想法吗?
这似乎对我有用 - 我感觉它可以简化,但它只是通过问题中概述的步骤进行:
=SUMPRODUCT(B2:F2*B3:F3)+SUMPRODUCT(SUMPRODUCT((B3:F3="")*B2:F2)*B3:F3)/COUNT(B3:F3)
如果空白单元格实际上不是空白,而是包含作为公式结果返回的“”,您可以尝试
=SUMPRODUCT(B2:F2*N(+B3:F3))+
SUMPRODUCT(SUMPRODUCT((B3:F3="")*B2:F2)*N(+B3:F3))/COUNT(B3:F3)
正如出色的@XOR LX 在这个答案
中所建议的那样每当我考虑比例性时,我认为缺失值的权重应该根据其权重分布在观测值内,而不是均匀分布。
所以在同一个例子中,
0.25 | 0.2 | 0.25 | 0.25 | 0.05 |
---|---|---|---|---|
5 | 5 | 5 | 8 |
缺失的 0.2 个应该按比例分配给其他的,第一、第三和第四个为 0.2*(0.25/0.8)。第五个是 0.2*(0.05/0.8)。
0.3125 | 0 | 0.3125 | 0.3125 | 0.0625 | 1 |
---|---|---|---|---|---|
5 | 5 | 5 | 8 | 5.1875 |
总和仍然为 1,但与我们为每个权重统一赋予 0.05 的情况相比,最后一个值的权重较小。 这也更实用,因为我们可以直接取两行的和积,然后除以未缺失值的总权重。 比如:
(0.25 * 5 + 0.25 * 5 + 0.25 * 5 + 0.05 * 8) / 0.8 = 5.1875