我正试图使用一组预先注册的历史数据在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()
函数-这里有一个很好的解释
总结你想找出的问题:
-
如果
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。ISLOOKUP
0,求和Range3
中的相应单元格--> =SUMPRODUCT(--(YEAR(reference_cell)-1=YEAR(Range2))*--(MONTH(reference_cell)=MONTH(Range2))*Range3)