更快地获得特定条件的最大日期

时间:2017-10-11 16:38:06

标签: google-sheets

我一直在设计一个购物系统"对于一些使用Google表格的非营利组织。我有一个问题,我解决了,但我觉得有一个更容易和更快的方法来做到这一点。

为了简化,我有一张PRICES的表格,如下所示:

(A)Code    (B)Date        (C)Price
AA1        01/08/2017     50.00
BB1        01/08/2017     40.00
AA1        12/08/2017     60.00

然后我们有SALES表:

(A)SalesId    (B)Date         (C)Code     (D)Price
001           05/08/2017      AA1         50.00
002           10/08/2017      BB1         40.00
003           13/08/2017      AA1         60.00

以上是销售电子表格的外观。我想要实现的目标:

在订单日期或日期之前获取特定商品的最新价格。

目前,销售表中的每一行都使用QUERY,这非常慢。 这是我的销售表中第二行的公式

=QUERY(Prices!A:C, "SELECT D WHERE A='" & $C2 & "' AND B <= DATE""" & TEXT($B2, "yyyy-mm-dd") & """ ORDER BY B DESC LIMIT 1)

问题是,对每一行执行QUERY会使电子表格变得非常慢。我一直在想是否有更好的方法在订单日期之前获得最大日期并采取相应的价格?

1 个答案:

答案 0 :(得分:0)

虽然从长远来看我提倡结构化数据输入更改,但可能是一种有效的解决方案,可让您有时间更改基本数据输入结构:

D2:

=ARRAYFORMULA(VLOOKUP(B2,IF(C2=Prices!$A$2:$A$4,Prices!$B$2:$C$4),2,1))

仍然需要拖累。