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

使用Excel 2011 for mac,我有三列:ID,开始date,结束date和完成时间。 (date格式: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列之间的差异。现在我有总平均值,这很容易计算,但我也想有不同月份的平均值。 这是我的知识崩溃的地方。 我尝试了几件事,但我似乎无法弄清楚如何计算一个平均使用列中的单元格匹配另一列中的某个值。 我可以按date排列票据,并通过仅为一定范围的平均值来手动执行,但由于此列表不断变化,这绝对不是一个不错的select。

检查AVERAGEIFfunction

 AVERAGEIF(selection_range, criteria, averaging_range) 

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

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

有多种方式。 我会亲自使用一个数组公式,但可能会有点高级和过于复杂。

我build议添加一列E“月” – 进E2添加:

 =MONTH(B2) 

然后将单元格E2复制到E3:E8。

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

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

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