VBA Excel – 基于不同范围的单元格中的结果,对一系列单元格进行求和

我试图根据一组预先注册的历史数据在excel中创build预测function。 我是VBA的新手,我无法做到这一点。

我有三个范围:

  • 范围1列出了一年中的每一天。 所有的单元格格式都是“date”的forms。
  • 名为“C”的另一张表上的范围2也列出了一年中的每一天。 所有的单元格格式都是“date”的forms。
  • 工作表“C”上的范围3包含在范围2中提到的年份的特定date中实现的美元值。

需求:

函数应该有三个不同的variables,这三个不同的variables。 函数应该首先“ LOOKUP ”所选单元格的月份和年份,并将其与范围二中的单元格的月份和(年份-1)相匹配。

因此,“ LOOKUP ”与Range 2匹配的同一行范围3中的单元格应该总结,然后除以计数的单元格数量。

到目前为止,我已经能够创build一个名为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)-1YEAR(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 TRUE ,在Range3求和相应的单元格

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