首页 > 解决方案 > 如何在Google表格上跳过带有字符串的行时获得加权平均值?

问题描述

我想获得 A 列中值的加权平均值和 B 列中的权重。问题是 A 列可能有字符串值,我想从计算中跳过这些行。与 =AVERAGEIF 不同,函数 =AVERAGE.WEIGHTED 没有实现此功能。

我该怎么做?如果 B 列也可以有字符串(以供将来校对),我该怎么做?

标签: google-sheets

解决方案


=AVERAGE.WEIGHTED(FILTER(A:A,ISNUMBER(A:A)),FILTER(B:B,ISNUMBER(A:A)))

=SUM(FILTER(A:A*B:B / sum(FILTER(B:B,ISNUMBER(A:A))),ISNUMBER(A:A)))

=SUM(FILTER(A:A*B:B / (sum(B:B) - SUMIF(A:A,"><", B:B)),ISNUMBER(A:A)))

如果两列都包含字符串,则为每个公式再添加 1 个条件:

=AVERAGE.WEIGHTED(FILTER(A:A,ISNUMBER(A:A),ISNUMBER(B:B)),FILTER(B:B,ISNUMBER(A:A), ISNUMBER(B:B)))


推荐阅读