问题:根据日期添加数量乘以不同费率的最佳公式是什么?
例:
苹果每月
该日期是2017年5月9日。公式会发现日期从Rate 2开始,以Rate 3结束。
所以,计算将是:
((40+70)*$6) +((80+40+20+10+40+100) *$7 )) = $2,690.00
以这种方式计算的最佳公式是什么?使用SUMPRODUCT
?我很困惑......
格式化费率的查找表,其中第一列是每个费率生效的日期:
+----------+---+
| 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))