Excel: 根据其他列的值计算平均值
Excel: calculate averages based on other column's value
我有一个数据sheet 包含两个巨大的列,都具有整数值。一列中的值范围为 1-11,另一列中的值范围为 0-22。这些值不以任何方式排序。在单独的 sheet(同一文件)中,我想显示每步的平均值。
示例:
A B
-------
2 3
4 0
6 2
2 9
4 12
1 9
1 18
在另一个选项卡中,我希望看到:
Values A Average B Values B Average A
--------------------------------------------
1 14 0 4
2 6 2 6
4 6 3 2
6 2 9 2
12 4
18 1
我想用一个函数来解决这个问题,该函数看起来循环遍历每一列的值,并在该循环期间取列中与该值对应的行的平均值。手动的话,太麻烦了。
我尝试使用 AVERAGEIF
但没有任何成果。
如果您正在table 构建一个数据透视表 table,您可以在您的数据上构建一个数据透视表 table。当 A 是行字段时,在值中使用 B 的平均值。应该给你结果。反之亦然应该产生结果的右半部分。
如果您想同时查看两者,一个选项卡可以在行字段中包含 A,在值字段中包含 B 的平均值。您可以在另一个 sheet 中构建另一个枢轴,其中 B 在行字段中,A 的平均值在值字段中。
如果您希望并排显示结果(第一部分的 2 列和第二部分的接下来的两列),您可以将枢轴 tables 放置在彼此旁边( Move a Pivot Table) 由于源数据将完全相同,如果基础数据发生任何变化,一个简单的刷新数据透视表 (Alt+F5) 应该会更新值。
(如果您以前没有这样做过)如何在值字段中获取平均值:Change the summary function for a field in a PivotTable report
您可以尝试使用 AVERAGEIFS
。这对我有用。
=IFERROR(AVERAGEIFS('analyse-logs'!B:B, 'analyse-logs'!A:A, A1), 0)
以上代码适用于 A 值。 A1 指的是引用您的值的单元格(或者您可以像在原始函数中那样使用 A=1 )。我在这种情况下使用了 IFERROR
,因此没有匹配项的引用将 return 0 作为平均值。
尝试:
=AVERAGEIF('analyse-logs'!A:A;A1;'analyse-logs'!B:B)
此致
我有一个数据sheet 包含两个巨大的列,都具有整数值。一列中的值范围为 1-11,另一列中的值范围为 0-22。这些值不以任何方式排序。在单独的 sheet(同一文件)中,我想显示每步的平均值。
示例:
A B
-------
2 3
4 0
6 2
2 9
4 12
1 9
1 18
在另一个选项卡中,我希望看到:
Values A Average B Values B Average A
--------------------------------------------
1 14 0 4
2 6 2 6
4 6 3 2
6 2 9 2
12 4
18 1
我想用一个函数来解决这个问题,该函数看起来循环遍历每一列的值,并在该循环期间取列中与该值对应的行的平均值。手动的话,太麻烦了。
我尝试使用 AVERAGEIF
但没有任何成果。
如果您正在table 构建一个数据透视表 table,您可以在您的数据上构建一个数据透视表 table。当 A 是行字段时,在值中使用 B 的平均值。应该给你结果。反之亦然应该产生结果的右半部分。
如果您想同时查看两者,一个选项卡可以在行字段中包含 A,在值字段中包含 B 的平均值。您可以在另一个 sheet 中构建另一个枢轴,其中 B 在行字段中,A 的平均值在值字段中。
如果您希望并排显示结果(第一部分的 2 列和第二部分的接下来的两列),您可以将枢轴 tables 放置在彼此旁边( Move a Pivot Table) 由于源数据将完全相同,如果基础数据发生任何变化,一个简单的刷新数据透视表 (Alt+F5) 应该会更新值。
(如果您以前没有这样做过)如何在值字段中获取平均值:Change the summary function for a field in a PivotTable report
您可以尝试使用 AVERAGEIFS
。这对我有用。
=IFERROR(AVERAGEIFS('analyse-logs'!B:B, 'analyse-logs'!A:A, A1), 0)
以上代码适用于 A 值。 A1 指的是引用您的值的单元格(或者您可以像在原始函数中那样使用 A=1 )。我在这种情况下使用了 IFERROR
,因此没有匹配项的引用将 return 0 作为平均值。
尝试:
=AVERAGEIF('analyse-logs'!A:A;A1;'analyse-logs'!B:B)
此致