假设我的 Excel 工作簿中有以下 2 个工作表:
床单companies
:
A B C
1 COMPANY COUNTRY SCORE
2 Foo Greece 10
3 Bar Greece 2
4 Baz Greece 3
5 Foobar Japan 8
6 Foobaz Denmark 6
7 BazBar Denmark 7
床单countries
:
A B
1 COUNTRY AVG_SCORE
2 Denmark 6.5
3 Greece 5.0
4 Japan 8.0
我手工计算了平均国家得分(AVG_SCORE
)。它是通过将所有国家得分相加并除以观察次数来计算的。例如,丹麦有 2 家公司,总得分为6
+ 7
,除以 2 等于6.5
。
由于我在第一张表中有数千家公司,因此我需要一个单元格countries!B2
(及以下)公式来计算平均国家得分。
请记住,公司数据与平均分数位于不同的表格中,有什么公式可以AVG_SCORES
自动计算?
答案1
如果您有 Excel 2007+,则可以使用AVERAGEIF
。使用您的数据作为模板,您需要将其放在countries
选项卡的 B 列中:
=AVERAGEIF(companies!$B$2:$B$7,"=" & A2,companies!$C$1:$C$7)
如果你有 2003 或更早版本,你可以使用SUMPRODUCT
:
=SUMPRODUCT((companies!$B$2:$B$7=A2)*companies!$C$2:$C$7)/SUMPRODUCT((companies!$B$2:$B$7=A2)*1)
编辑以回应评论:
是&
连接。即"a" & "b"
== "ab"
。在本例中,提供的条件是一个字符串,因此我们使用引号"="
与我们要查找的国家/地区连接。值位于单元格中,A2
因此我们不是将其输入出来,而是使用 将其链接"="
到单元格值"=" & A2
,这与 相同"=Denmark"
。
答案2
另一个选项是创建一个数据透视表,在行字段中选择国家,在值字段中选择平均值。然后,您可以将第二张表链接到上面创建的数据透视表。