我一直在设计一个购物系统"对于一些使用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会使电子表格变得非常慢。我一直在想是否有更好的方法在订单日期之前获得最大日期并采取相应的价格?
答案 0 :(得分:0)
虽然从长远来看我提倡结构化数据输入更改,但可能是一种有效的解决方案,可让您有时间更改基本数据输入结构:
D2:
=ARRAYFORMULA(VLOOKUP(B2,IF(C2=Prices!$A$2:$A$4,Prices!$B$2:$C$4),2,1))
仍然需要拖累。