Excel:如何在空白值导致比例权重偏移的情况下进行加权平均

Excel: How to take a weighted average where blank values cause proportional weighting shifts

我有五个类别。每个类别在第 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 个类别的范围,那就太好了。关于如何实现这样的东西有什么想法吗?

我认为这个数组公式可以做到。使用 Ctrl + Shift + Enter

输入
=SUM(IF(B3:F3<>0,B3:F3*B2:F2))/SUM(IF(B3:F3<>0,B2:F2,0))

这似乎对我有用 - 我觉得它可以简化,但它只是通过问题中概述的步骤工作:

=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 所建议