Google表格 - 比较日期并返回最新的行与要求

时间:2017-11-02 09:14:12

标签: google-sheets

我有一张工作表使用查询从另一张工作表中提取数据。这些数据看起来有点像这样。

DATE       STOREID OTHERDATA
02/11/2017 Store 1 Other data 1
01/11/2017 Store 1 Other data 2
09/10/2017  Store 2 Other data 3
05/10/2017  Store 2 Other data 4

我正在寻找一种方法让它只返回每个商店的最新日期行,如下所示。

DATE       STOREID OTHERDATA
02/11/2017 Store 1 Other data 1
09/10/2017  Store 2 Other data 3

我目前使用的查询看起来像这样:

=query(DATASHEET!A2:CF11, "select C, CC, L,CD, E, BZ, CA, CB where (BF='CUSTOMERNAME1') order by C desc, CC, L, BZ desc",0)

这是否可以使查询查看所有日期和storeID,并且只返回每个storeID的最高日期?我可以想象用另一种循环/ for语言来做这个,但我的Google结果告诉我,查询不可能。

如果是这种情况,您会如何建议我在数据表中执行此操作,以便我可以让每列的LATEST / NOT LATEST,然后使用带有WHERE语句的查询?

这是我尝试设置的示例表,以防它有助于解释我正在尝试做什么。 https://docs.google.com/spreadsheets/removed

任何帮助都是值得赞赏的,因为我花了一整天时间试图解决这个问题。如果有什么不清楚,请告诉我。

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

=ARRAYFORMULA(VLOOKUP(QUERY({ROW(A2:A),SORT(A2:C)}, "SELECT MAX(Col1) WHERE Col3 IS NOT NULL GROUP BY Col3 LABEL MAX(Col1)''",0),{ROW(A2:A), SORT(A2:C)},{2,3,4},0))

答案 1 :(得分:0)

试试这个:

click checkbox "Enable Slow Keys" of group 1 of window 1 of application process "System Preferences"

通过A列的反向{{1}和=ARRAYFORMULA(VLOOKUP(UNIQUE(B1:B11),SORT({B1:C11,A1:A11},3,0),{3,1,2},0)) SORT个值,我们有最新的一行。