问题:基于日期添加数量乘以不同费率的最佳公式是什么?
示例:
每月苹果
Jan:10
2月:30
日期是2017年5月9日。公式会发现日期从Rate 2开始,以Rate 3结束。
所以,计算方法是:
((40+70)*$6) +((80+40+20+10+40+100) *$7 )) = $2,690.00
以这种方式计算的最佳公式是什么?使用SUMPRODUCT
?我很困惑......
答案 0 :(得分:1)
格式化费率的查找表,其中第一列是每个费率生效的日期:
+----------+---+
| 1/1/2017 | 5 |
| 5/1/2017 | 6 |
| 7/1/2017 | 7 |
+----------+---+
我们说上面是A1:B3。现在,您可以使用
查找任何日期的费率(例如日期在C9中)=vlookup(C9, A1:B3, 2, True)
此处vlookup
在第一列中搜索日期,并从第二列返回小于或等于搜索键的最近匹配值。
然后你可以像这样使用sumproduct:
=sumproduct(D9:D15, arrayformula(vlookup(C9:C15, A1:B3, 2, True))
此处查找C9:C15范围内每个日期的费率(因此这些日期应该是每个月的第一天)。
最后,你想要做到这一切,给定一个像5/9/2017的日期。假设此日期在E1中。我们在那里做1。比如说,在F1中:
=date(2017, month(E1), 1)
然后按日期至少为F1的条件过滤日期/金额数组:filter(C:C, C >= F1)
。最终结果将是
=sumproduct(filter(D:D, C:C >= F1), arrayformula(vlookup(filter(C:C, C >= F1), A1:B3, 2, True))