如果日期在表中的日期之前/之后,该如何获取对应于特定日期的值?

时间:2019-02-10 06:05:24

标签: google-sheets google-sheets-formula

我有一个Google表格表,其中包含许多库存清单:

    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的值?

2 个答案:

答案 0 :(得分:0)

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

=ARRAYFORMULA(IF($F2<MIN($A$2:$A), 0, IFERROR(IFERROR(
 QUERY(TO_TEXT({VALUE($A$2:$A), $B$2:$D}), 
 "select Col4 where Col1 >= '"&VALUE($F1)&"' 
                and Col1 <= '"&VALUE($F2)&"' 
                and Col2 =  '"&G$1&"' ", 0),
 QUERY(TO_TEXT({VALUE($A$2:$A), $B$2:$D}), 
 "select Col4 where Col1 >= '"&VALUE(#REF!)&"' 
                and Col1 <= '"&VALUE($F2)&"' 
                and Col2 =  '"&G$1&"' ", 0)), 0)))

答案 1 :(得分:0)

粘贴到 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)))