首页 文章

计数非空白单元格根据另一列中的月份形成列并对单元格的值求和?

提问于
浏览
1

我有一个带有两列的电子表格 - 第一列是日期列,第二列是金额列 . 现在我创建另外两列,分别名为“基于月份的交易数”和“基于月份的总金额” . 金额列的某些单元格为空白 . 目前我的表格是这样的:

enter image description here

现在,我正在尝试添加公式,这些公式将自动计算交易数量和相对于月份的总金额 .

我目前获得交易数量的公式是1月的 =SUMPRODUCT(--(Month(A2:A7)=1)) 和4月的 =SUMPRODUCT(--(Month(A2:A7)=4)) . 这种方法的问题是它们返回3和3个事务,而它们应该返回2和2,因为1个事务是空的 .

同样,我用来获得每月总金额的公式是1月份的 =SUM(B2:B4) 和4月份的 =SUM(B5:B7) . 这里的问题是,如果我们每月有1000笔交易,那么选择单元格将会变得令人头疼 . 所以我需要的公式会根据月份自动求和 .

什么是最好的方法?

2 回答

  • 0

    调整您的SUMPRODUCT以包括空格检查:

    =SUMPRODUCT((Month(A2:A7)=1)*(B2:B7<>""))
    

    那么总和:

    =SUMPRODUCT((Month(A2:A7)=1)*B2:B7)
    
  • 1

    =SUMPRODUCT(--(MONTH(A2:A7)=1),--(B2:B7>0)) 应该为您解决这个问题 . 您需要的只是附加列 . sumproduct 的优点在于它允许您在列之间进行乘法并添加结果 .

    顺便说一句,如果你想自动化公式的月份部分,你可以使用 MONTH(D2&" 1, 1900") ,它基本上将你的"April"变成"April 1, 1900",以便你可以调用 MONTH 函数 .

    这会让你有一个可拖动的公式 =SUMPRODUCT(--(MONTH(A$2:A$7)=MONTH(D2&" 1, 1900")),--(B$2:B$7>0)) .

相关问题