Google sheets 找到给定每月数量和每月费率的总价
问题:根据日期将数量乘以不同费率的最佳公式是什么 示例:Google sheets 找到给定每月数量和每月费率的总价,google-sheets,formula,Google Sheets,Formula,问题:根据日期将数量乘以不同费率的最佳公式是什么 示例: 费率1:2017年1月1日-2017年4月30日$5 费率2:2017年5月1日-2017年6月30日$6 费率3:2017年7月1日-2017年12月31日$7 每月苹果数 1月10日 二月三十日 三月十日 四月:五十 五月:40 六月:七十 七月:八十 八月四十日 九月二十日 10月10日 11月40日 十二月:100 日期为2017年5月9日。公式将发现日期以速率2开始,以速率3结束 因此,计算结果为: ((40+70)*$
- 费率1:2017年1月1日-2017年4月30日$5
- 费率2:2017年5月1日-2017年6月30日$6
- 费率3:2017年7月1日-2017年12月31日$7
- 1月10日
- 二月三十日
- 三月十日
- 四月:五十
- 五月:40
- 六月:七十
- 七月:八十
- 八月四十日
- 九月二十日
- 10月10日
- 11月40日
- 十二月:100
((40+70)*$6)+((80+40+20+10+40+100)*$7))=$2690.00
用这种方法计算的最佳公式是什么?使用
SUMPRODUCT
?我很困惑 设置费率查找表的格式,其中第一列是每个费率生效的日期:
+----------+---+
| 1/1/2017 | 5 |
| 5/1/2017 | 6 |
| 7/1/2017 | 7 |
+----------+---+
假设上面是A1:B3。现在,您可以使用查找任何日期的费率(例如,日期为C9)
此处vlookup
在第一列中搜索日期,并从第二列返回小于或等于搜索键的最近匹配值
然后您可以像这样使用sumproduct:
=sumproduct(D9:D15, arrayformula(vlookup(C9:C15, A1:B3, 2, True))
在这里,在C9:C15范围内查找每个日期的费率(因此这些日期应该是每个月的第一天)
最后,考虑到像2017年5月9日这样的日期,您希望完成所有这些。假设这个日期是E1。让我们在那里打1分。比如,在F1中:
=date(2017, month(E1), 1)
然后根据日期至少为F1的条件筛选日期/金额数组:筛选(C:C,C>=F1)
。最终结果将是
=sumproduct(filter(D:D, C:C >= F1), arrayformula(vlookup(filter(C:C, C >= F1), A1:B3, 2, True))
谢谢你,疯狂的伊万。我没有说得更清楚是我的错。我想如果我分享工作簿的草稿,你就会明白我的意思:突出显示的单元格是公式应该放在的地方。你能提供访问权限吗?床单被保护好了。啊,我的错-给你@Chef1075,
=sumproduct(filter(D:D, C:C >= F1), arrayformula(vlookup(filter(C:C, C >= F1), A1:B3, 2, True))