VBA Excel-根据不同单元格区域的结果求和单元格区域



我正试图使用一组预先注册的历史数据在excel中创建一个预测函数。我是VBA的新手,无法使用此函数。

我有三个范围:

  • 范围1列出了一年中的每一天。所有单元格都被格式化为";日期"
  • 范围2在另一张名为";C";还列出了一年中的每一天。所有单元格都被格式化为";日期"
  • "纸上范围3";C";包含在范围2中提到的一年中的特定日期实现的美元价值

要求:

函数应采用3个不同的变量,即三个不同的范围。函数应该首先";CCD_ 1";所选单元格的月份和年份,并将其与范围二中单元格的月份(年-1)相匹配。

相应地,范围3中的单元格在同一行上;CCD_ 2";与范围2的匹配应该相加,然后除以计数的单元格数。

到目前为止,我已经能够创建一个名为MNAME的函数。

Function MNAME(x As Variant) As String
  Dim CurrentMonth As Date
  CurrentMonth = x
  MNAME = MonthName(Month(CurrentMonth), True)
End Function

但是,我没有嵌套查找并汇总值。

您不需要VBA。

阅读关于SUMPRODUCT()函数-这里有一个很好的解释

总结你想找出的问题:

  1. 如果Range2中的细胞的年份与YEAR(reference_cell)-1 相同

    --> IF(YEAR(reference_cell)-1=YEAR(Range2))
    
  2. 如果Range2中的细胞的月份与MONTH(reference_cell) 相同

    --> IF(MONTH(reference_cell)=MONTH(Range2))
    
  3. 其中1。IS TRUE和2。IS LOOKUP0,求和Range3 中的相应单元格

    --> =SUMPRODUCT(--(YEAR(reference_cell)-1=YEAR(Range2))*--(MONTH(reference_cell)=MONTH(Range2))*Range3)
    

相关内容

最新更新