我在 Excel 中有 3 列,A=日期、B=价格、C=等级。我想计算每年的平均燃料价格以及按等级计算的所有年份的总体平均值。
数据表如下所示
Date | Price | Grade
2012-05-01 | $3.49 | Regular
2012-06-07 | $3.58 | Regular
2012-04-01 | $3.98 | Premium
2012-02-17 | $3.87 | Premium
2013-01-01 | $3.49 | Regular
2013-02-01 | $3.89 | Premium
2013-03-06 | $3.89 | Premium
2013-03-09 | $3.45 | Regular
输出应如下所示:
Year | Regular | Premium
2012 | 3.43 | 3.67
2013 | 3.45 | 3.73
All | 3.44 | 3.70
答案1
使用函数AVERAGEIFS
。它允许根据多个标准计算平均值。您需要两个评估标准:日期比较(例如 2012 年的日期)和字符串比较(例如“常规”)。
答案2
无需 VBA 或公式。Excel 的数据透视表功能专为此类数据汇总而设计。
- 选择数据范围
- 插入 -> 数据透视表 - 这将创建一个数据透视表(默认在新工作表上),当您选择数据透视表中的单元格时,您将看到一个名为“数据透视表字段列表”的窗口。
- 将日期拖到行标签
- 将等级拖到列标签上
- 将价格拖到值上
- 点击价格总和并选择值字段设置...
- 选择“平均值”而不是“总和”,然后单击“确定”
- 最后,要按年份分组,请右键单击数据透视表本身(而不是字段列表窗口)中的一个日期值,然后选择“分组”,再选择“年份”。