在一系列Excel日期值中计算实际使用的月份

时间:2014-06-27 04:38:19

标签: excel date counting

我想获得一个月平均值,只计算包含交易的月份。这就像汇总所有交易金额然后除以所用月数一样简单。

我无法找到一个可以计算数月的本机Excel公式,并且尝试使用表或命名范围基于ROW()函数的条件求和并不起作用。在尝试按年份(或任何其他标准)限制计数时,它只会返回零。

那个公式看起来像这样:

={SUM(IF(MATCH(MONTH(DateRange),MONTH(DateRange),0)=(ROW(DateRange)-MIN(ROW(DateRange))+1),1,0))}

顺便说一句,这是一个数组公式。它基本上会查看您所在的行是否与排序列表中引用月份的第一行相同。这是我尝试的每种方法的一个问题;范围需要按日期排序。

当尝试使用AND()或布尔表达式来限制命名范围时会出现更大的问题' DateRange'到指定年份。

所以问题仍然存在,如何在单个公式中指定特定标准,并根据这些标准计算某个范围内的月数?

1 个答案:

答案 0 :(得分:0)

我提出的解决方案是使用SUMPRODUCT()的以下非数组公式:

=SUMPRODUCT((MONTH('Transaction Log'!$A$3:INDEX('Transaction Log'!$A:$A, COUNTA('Transaction Log'!$A:$A)+1))<>MONTH(DateRange))*(YEAR(DateRange)=2014))

诀窍是将日期范围与相似范围进行比较,只需移动一个单元格即可。因此,您将比较例如1:5的细胞与2:6的细胞。具体来说,您正在寻找连续日期不在同一个月的地方,并计算它们。

不幸的是,这种方法仍然取决于具有排序范围。但是这样,您可以指定任意数量的条件来限制数据范围。我估算的每月平均成本的旧方法涉及一个简单的比率,在某些情况下,这个比率大大高于月度成本。