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

时间:2016-02-11 08:59:38

标签: excel average office-2016

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

示例:

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,但没有任何结果。

3 个答案:

答案 0 :(得分:1)

尝试:

public class Connection implements Runnable { String result; Controller controller = new Controller(); public void run() { controller.create("TEST123"); }

此致

答案 1 :(得分:0)

如果您愿意构建数据透视表,则可以在数据上构建数据透视表。当A是行字段时,使用B的平均值。应该给你结果。反之亦然,应该产生正确的一半结果。

如果要同时查看两个选项卡,则一个选项卡可以在行字段中具有A轴,在值字段中具有B的平均值。您可以在另一个工作表中构建另一个轴,其中B在行字段中,并且在值字段中平均为A。

如果您希望结果并排(第一部分的2列和第二部分的下两列),您可以将数据透视表放在彼此相邻的位置(Move a Pivot Table)源数据将是相同的,如果基础数据有任何更改,则简单的刷新数据透视表(Alt + F5)应更新值。

(如果您之前没有这样做过)如何在“值”字段中获得平均值:Change the summary function for a field in a PivotTable report

答案 2 :(得分:0)

您可以尝试使用AVERAGEIFS代替。这对我有用。

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

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