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()
函数 – 这是一个很好的解释
总结一下你想要发现的问题:
-
如果
Range2
中的单元格的YEAR(reference_cell)-1
与YEAR(reference_cell)-1
--> IF(YEAR(reference_cell)-1=YEAR(Range2))
-
如果
Range2
中的单元格的月份与MONTH(reference_cell)
相同,--> IF(MONTH(reference_cell)=MONTH(Range2))
-
其中1. IS
TRUE
和2. ISTRUE
,在Range3
求和相应的单元格--> =SUMPRODUCT(--(YEAR(reference_cell)-1=YEAR(Range2))*--(MONTH(reference_cell)=MONTH(Range2))*Range3)