Excel:根据其他列的值计算平均值

我有一个数据表包含两个巨大的列,都具有整数值。 一列中的值范围是1-11,另一列是0-22。 值不以任何方式sorting。 在一个单独的工作表(相同的文件),我想显示平均每一步。

例:

AB ------- 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但没有任何成果。

尝试:

=AVERAGEIF('analyse-logs'!A:A;A1;'analyse-logs'!B:B)

问候

你可以尝试使用AVERAGEIFS 。 这对我有效。

 =IFERROR(AVERAGEIFS('analyse-logs'!B:B, 'analyse-logs'!A:A, A1), 0) 

上面的代码是针对A值的。 A1指的是您的值被引用的单元格(或者您可以像您在原始函数中那样使用A = 1)。 在这种情况下,我使用了IFERROR ,因此没有匹配的引用将以平均值返回0。

如果您正在构build数据透视表,您可以在数据上构build一个数据透视表。 当A是行字段时,使用B的平均值。 应该让你的结果。 反之亦然应该产生结果的右半部分。

如果您想要同时看到两个选项卡,则一个选项卡可以具有以行为单位的A和以值为单位的B的平均值。 您可以在另一个工作表中创build另一个数据透视表,其中行数B为B,数值字段A的平均值为A。

如果你想要并排的结果(第一部分的第二列和第二部分的下两列),你可以把数据透视表放在一起( 移动数据透视表 )。由于源数据是将相同,如果基础数据有任何变化,一个简单的刷新枢轴(Alt + F5)应该更新值。

(如果您以前没有这样做)如何获取“值”字段中的平均值: 更改数据透视表中字段的摘要函数