Google sheets 使用Google QUERY从其他列返回最大值和相应值

Google sheets 使用Google QUERY从其他列返回最大值和相应值,google-sheets,array-formulas,gs-vlookup,google-query-language,Google Sheets,Array Formulas,Gs Vlookup,Google Query Language,我有以下数据集(见图):A到E列包含工作现场检查记录(现场ID(A)、检查类型(B)、现场状态(C)、检查公司(D)和检查日期(E)) 在下一页(从G到J的绿色区域)中,我有一个工作地点的排序列表(G列),我试图为其构建一个查询表达式,以检索最新的检查日期(=最大值)、相应的检查公司和相应的现场状态,其中检查类型为='年度',即B='年度'。 在下例中,对于工作现场1,预期结果应为: WORK_SITE_1 - 13/Nov/2019 - COMP_8 - Operational 我希望使用A

我有以下数据集(见图):A到E列包含工作现场检查记录(现场ID(A)、检查类型(B)、现场状态(C)、检查公司(D)和检查日期(E))

在下一页(从G到J的绿色区域)中,我有一个工作地点的排序列表(G列),我试图为其构建一个查询表达式,以检索最新的检查日期(=最大值)、相应的检查公司和相应的现场状态,其中检查类型为='年度',即
B='年度'
。 在下例中,对于工作现场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)
在每行的第I列中

=QUERY($A$2:$E$14,"SELECT D, C WHERE E = date '"&TEXT(H2, "yyyy-mm-dd") &"' AND A = '"&G2&"' ",0)
如果你能给我一点提示,我将不胜感激。 先谢谢你


不用太深入,我认为您可以按日期降序对vlookup的范围进行排序,它将返回最新的一个

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

谢谢你,马特金。虽然您的解决方案可行,但它没有考虑到“除此之外,我们还需要按检查类型列出结果列表,即仅返回B=‘年度’,这将促使我进行查询。”