【问题标题】:Find total price given the quantity for each month and the rate for each month给定每个月的数量和每个月的费率,求总价
【发布时间】:2018-01-02 14:34:59
【问题描述】:

问题:添加数量乘以基于日期的不同比率的最佳公式是什么?

示例:

  • 费率 1:2017 年 1 月 1 日 - 2017 年 4 月 30 日 $5
  • 费率 2:2017 年 5 月 1 日 - 2017 年 6 月 30 日 6 美元
  • 费率 3:2017 年 7 月 1 日 - 2017 年 12 月 31 日 7 美元

每月苹果数

  • 一月:10

  • 2 月:30

  • 三月:10
  • 四月:50
  • 五月:40
  • 六月:70
  • 七月:80
  • 8 月:40
  • 9 月:20
  • 10 月:10
  • 11 月:40
  • 十二月:100

日期是 2017 年 5 月 9 日。该公式会发现日期以速率 2 开始,以速率 3 结束。

所以,计算结果是:
((40+70)*$6) +((80+40+20+10+40+100) *$7 )) = $2,690.00

以这种方式计算的最佳公式是什么?使用SUMPRODUCT?我很困惑……

【问题讨论】:

    标签: google-sheets formula


    【解决方案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 范围内的每个日期的汇率(因此这些日期应该是每个月的第一天)。

    最后,您想要完成所有这些,假设日期为 2017 年 5 月 9 日。假设这个日期在 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))
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2012-12-08
    • 2016-02-27
    • 2010-10-11
    相关资源
    最近更新 更多