使用Google QUERY返回最大值和其他列中的对应值

问题描述 投票:0回答:1

我具有以下数据集(请参见图像):A到E列包含WORK SITE检查记录(SITE ID(A),Inspection type(B),Site status(C ),检查公司(D)和检查日期(E))。

[在下一张工作表中(从G到J的绿色区域),我有一个工作地点的排序列表(G列),我正在尝试为此建立一个查询表达式以检索最新的检查日期(= MAX值),对应检查公司和相应的站点状态,“检查类型”为“年度”,即B = 'ANNUAL'。在下面的示例中,对于WORK_SITE_1,所需的结果应为:

WORK_SITE_1 - 13/Nov/2019 - COMP_8 - Operational

我希望使用ARRAYFORMULA以避免将公式放入每一行中。

=ARRAYFORMULA(IF(G2:G="","",VLOOKUP(G2:G,A2:E,{5,4,3},FALSE)))

然而,以上内容仅是检验日期的第一例,而不是最新日期。目前,我在每行H中使用以下查询:

=QUERY($A$1:$E$14,"SELECT MAX(E) WHERE A = '"&G2&"' LABEL MAX(E) '' ",0)

并且在每一行的第一列中

=QUERY($A$2:$E$14,"SELECT D, C WHERE E = date '"&TEXT(H2, "yyyy-mm-dd") &"' AND A = '"&G2&"' ",0)

我希望对此有所提示。预先谢谢你。

enter image description here

google-sheets array-formulas gs-vlookup google-query-language
1个回答
1
投票

[不必太深入,我认为您可以按日期降序对vlookup的范围进行排序,并且它将返回最新的vlookup的范围。

=ARRAYFORMULA(IF(G2:G="","",VLOOKUP(G2:G,SORT(A2:E,5,FALSE),{5,4,3},FALSE)))
© www.soinside.com 2019 - 2024. All rights reserved.