Excel:基于另一列的列的部分平均值

时间:2016-08-02 09:53:30

标签: excel excel-formula excel-2011

使用Excel 2011 for mac,我有三列:ID,开始日期,结束日期和完成时间。 (日期格式:dd / mm / yyyy)

ID  | Start      | End        | Time
1   | 01/01/2016 | 05/01/2016 | 4
2   | 04/01/2016 | 08/01/2016 | 4
3   | 01/02/2016 | 14/02/2016 | 13
4   | 02/02/2016 | 20/02/2016 | 18
5   | 01/03/2016 | 05/03/2016 | 4
6   | 06/03/2016 | 08/03/2016 | 2
7   | 12/03/2016 | 15/03/2016 | 3

D列基本上是C列和B列之间的差异。 现在我有总平均值,这很容易计算,但我也想得到不同月份的平均值。 这就是我的知识崩溃的地方。我已经尝试了几件事,但我似乎无法弄清楚如何仅使用列中与另一列中的特定值匹配的单元格来计算平均值。我可以按日期对门票进行排序,并通过仅对某个范围进行平均来手动完成,但由于此列表不断变化,这绝对不是一个不错的选择。

2 个答案:

答案 0 :(得分:1)

查看AVERAGEIF功能

AVERAGEIF(selection_range, criteria, averaging_range)

它使用selection_range中的值来过滤平均值范围中的哪些值。

在你的情况下你可以说AVERAGEIF(B1:B8,“01/01/2016”,D1:D8)

答案 1 :(得分:0)

有多种方法。我个人会使用一个数组公式,但这可能有点先进和过于复杂。

我建议在E添加一个列“月” - 添加到:

=MONTH(B2)

然后将细胞E2复制到E3:E8。

现在,您可以通过应用AVERAGEIF命令轻松获得月平均值:

=AVERAGEIF(E2:E8,2,D2:D8)

第二个参数2表示二月,但可以用1-12中的任何数字进行交换。