首页 > 解决方案 > 如果日期在表格中的日期之前/之后,如何获取与特定日期对应的值?

问题描述

我有一个带有许多库存添加的 Google Sheet 表:

    Date    | Product | New Units | # Total Units 
 -----------|---------|-----------|--------------- 
  1/11/2017 | Coke    |        14 |            14 
  1/31/2017 | Pepsi   |         6 |             6 
  2/12/2017 | Coke    |         3 |            17 
  3/13/2017 | Coke    |        12 |            29 
  3/13/2017 | Pepsi   |        13 |            19

例如,2017 年 2 月 12 日,我收到了 3 个新单位的可乐,总共 17 个单位。我想能够说对于任何给定的产品和任何给定的日期,我在那个日期有多少件该产品?

例如,根据上面的数据,在单独的表格中给出以下日期列表,我希望看到这个输出:

    Date    | Coke | Pepsi 
 -----------|------|------- 
  1/10/2017 |    0 |     0 
  1/11/2017 |   14 |     0 
  2/10/2017 |   14 |     6 
  2/15/2017 |   17 |     6 
  3/15/2017 |   29 |    19 

是否有一个或多个公式可以用来计算 B2:B6 和 C2:C6 的值?

标签: google-sheetsgoogle-sheets-formula

解决方案


粘贴在G3中(跳过第一行以避免#REF!)然后向下、向右和向上拖动

=ARRAYFORMULA(IF($F3<MIN($A$2:$A), 0, IFERROR(IFERROR(
 QUERY($A$2:$D, 
 "select D where A >= date '"&TEXT($F2, "yyyy-mm-dd")&"' 
             and A <= date '"&TEXT($F3, "yyyy-mm-dd")&"' 
             and B =  '"&G$1&"' ", 0),
 QUERY($A$2:$D, 
 "select D where A >= date '"&TEXT($F1, "yyyy-mm-dd")&"' 
             and A <= date '"&TEXT($F3, "yyyy-mm-dd")&"' 
             and B =  '"&G$1&"' ", 0)), 0)))


推荐阅读