2016-08-02 130 views
0

使用Excel 2011 for mac,我有三列:ID,开始日期,结束日期和完成时间。 (日期格式:日/月/年)Excel:基于另一列的列的部分平均值

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. 现在之间的差I具有总的平均水平,这是很容易计算,但我也想有不同月份的平均值。 这就是我知识分崩离析的地方。我已经尝试了几件事情,但我似乎无法弄清楚如何计算平均值,只使用列中与另一列中的某个值匹配的单元格。我可以按日期对票据进行排序,并通过仅为一定范围内的平均值手动执行,但由于此列表不断变化,这绝对不是一个好选择。

回答

1

退房的AVERAGEIF功能

AVERAGEIF(selection_range, criteria, averaging_range) 

它使用在SELECTION_RANGE过滤的值在averaging_range哪些值将被平均。

你的情况,你可以说AVERAGEIF(B1:B8, “2016年1月1日”,D1:D8)

0

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

我建议增加一列E “月” - 到E2补充:

=MONTH(B2) 

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

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

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

第二个参数是2,表示二月,但可以与任意数量的1-12交换。