我正在尝试使用基于一组预先注册的历史数据在Excel中创建预测功能。我是VBA的新手,我无法完成这项功能。
我有三个范围:
该函数应该采用3个不同的变量,这三个变量是三个不同的范围。函数应首先“LOOKUP
”所选单元格的月份和年份,并将其与范围2中单元格的月份和(年份-1)匹配。
因此,“LOOKUP
”与范围2匹配的同一行中的范围3中的单元格应该相加,然后除以计算的单元格数。
到目前为止,我已经能够创建一个名为MNAME
的函数。
Function MNAME(x As Variant) As String
Dim CurrentMonth As Date
CurrentMonth = x
MNAME = MonthName(Month(CurrentMonth), True)
End Function
但是我没有嵌套查找并总结值。
答案 0 :(得分:1)
你不需要VBA。
SUMPRODUCT()
函数 阅读 - Here是一个很好的解释
总结您想要了解的问题:
如果Range2
中的单元格年份与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. IS TRUE
,将Range3
--> =SUMPRODUCT(--(YEAR(reference_cell)-1=YEAR(Range2))*--(MONTH(reference_cell)=MONTH(Range2))*Range3)