计数非空白单元格根据另一列中的月份形成列并计算单元格的值?
问题描述:
我有一个有两列的电子表格 - 第一列是日期列,第二列是列数列。现在我又分别创建了两个名称分别为“基于月的交易数量”和“基于月份的总量”的列。数量列的某些单元格是空白的。目前,我的表是这样的:计数非空白单元格根据另一列中的月份形成列并计算单元格的值?
现在,我想添加公式,它会自动针对计算的交易数量和总金额月。
我现在的公式得到的交易数是=SUMPRODUCT(--(Month(A2:A7)=1))
1月和=SUMPRODUCT(--(Month(A2:A7)=4))
4月。这种方法的问题是他们返回3和3个事务,而他们应该返回2和2,因为1个事务是空的。
同样,我用来获取每月总额的公式是1月份的=SUM(B2:B4)
和4月份的=SUM(B5:B7)
。这里的问题是,如果我们每个月有1000个事务,那么选择单元格就会变得很头疼。所以我需要基于月份自动求和的公式。
什么是最好的方法?
答
调整你SUMPRODUCT为包括空白支票:
=SUMPRODUCT((Month(A2:A7)=1)*(B2:B7<>""))
那么对于总和:
=SUMPRODUCT((Month(A2:A7)=1)*B2:B7)
答
=SUMPRODUCT(--(MONTH(A2:A7)=1),--(B2:B7>0))
应该可以解决这个给你。所有你需要的是额外的专栏。 sumproduct
的美妙之处在于,它允许您通过列乘以并添加结果。顺便说一句,如果你想自动化公式的月份部分,你可以使用MONTH(D2&" 1, 1900")
,它基本上将你的“四月”变成“1900年4月1日”,以便允许你调用MONTH
函数。
这会让您看到可拖动公式=SUMPRODUCT(--(MONTH(A$2:A$7)=MONTH(D2&" 1, 1900")),--(B$2:B$7>0))
。