MS Excel:使用AGGREGATE累计每个月的所有里程

时间:2013-08-07 01:27:20

标签: excel excel-formula excel-2010

我有以下日志格式的数据:

DATE           MILEAGE
02-Jul-13         15
05-Jul-13         12
09-Jul-13         156
10-Aug-13         20
11-Aug-13         20
12-Aug-13         232
12-Aug-13         20
13-Aug-13         265
15-Aug-13         20
18-Aug-13         20

我希望从中提取数据。

我需要忽略错误和#N / A,所以我一直在尝试使用AGGREGATE函数。无济于事。

我想提供以下信息:

本月里程 -

=AGGREGATE(9,7, IF(MONTH(IFERROR(LogBookTable[Date], 0)) = MONTH(TODAY()), LogBookTable[Total KM], 0))    - Does not work

七月里程 -

=AGGREGATE(9,7, IF(MONTH(IFERROR(LogBookTable[Date], 0)) = MONTH(7), LogBookTable[Total KM], 0))    - Does not work

八月里程 -

=AGGREGATE(9,7, IF(MONTH(IFERROR(LogBookTable[Date], 0)) = MONTH(8), LogBookTable[Total KM], 0))    - Does not work

总里程 -

=AGGREGATE(9,7,LogBookTable[Total KM])  - This works

每月里程和当月里程都会产生“#VALUE!”正在展示。

非常感谢任何帮助。

万一有人问,命名方案已经纠正,不是参考不起作用,而是价值。

2 个答案:

答案 0 :(得分:1)

您可以使用DSUM。如果您有两个标准单元格设置在D1中说:E2如下:

    Date    Date
>1/07/2013  <31/7/2013

如果您的数据位于A1:B11(根据上面的示例),要返回7月份忽略错误的总和,请使用以下公式:

=DSUM(A1:B11,2,D1:E2)

您可以设置条件,使其根据当前月份进行更新,并使用以下方式计算月末:

="<"& DATE(YEAR(TODAY()),MONTH(TODAY())+1,DAY(1)-1)

并按月计算月份开始:

=">"& DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(1))

请记住,对于条件,同一行上的多个条件是AND,同一条件上的多个行是OR。

答案 1 :(得分:0)

您可以使用SUMIF添加代表日期月份的列:

enter image description here

B列包含A列的=MONTH。您所要做的就是使用新日期更新A16中的DATE条目。因此,B16会在适当的月份更新,从而创建新的每月汇总金额。