Google sheets 如何使用查询表查找每个学生的最新成绩?
我有一个电子表格,里面有学生的评估清单。它由四列组成:Google sheets 如何使用查询表查找每个学生的最新成绩?,google-sheets,Google Sheets,我有一个电子表格,里面有学生的评估清单。它由四列组成: A B C D Student Standard Date Score 在另一张纸上,我有一张表,a列有学生名单,第1行有标准名单 我想查询评估电子表格,以返回当前学生在当前标准下的最新评估分数。目前我在单元格K3中有这个公式: =Query(Assessments!A:D,"select D where(A="&$A3&" and B="&a
A B C D
Student Standard Date Score
在另一张纸上,我有一张表,a列有学生名单,第1行有标准名单
我想查询评估电子表格,以返回当前学生在当前标准下的最新评估分数。目前我在单元格K3中有这个公式:
=Query(Assessments!A:D,"select D where(A="&$A3&" and B="&K$1&") order by max(C) limit 1")
但它给了我一个错误:
无法分析函数查询参数2的查询字符串:AGG_IN_ORDER_NOT_IN_SELECTMAX(C
)
编辑:
我得到了一些很好的答案,但我想我问得不好。我真正需要的是最近评估的分数。JPV和pnuts的结果都给出了最近评估的日期。以下是实际文件的精简版本:
在学生
表中,我需要一个绿色单元格中的公式,根据评估
表中的数据得出一个从0
到4
的数字
这就是为什么在查询中我试图选择D,但按max(C)排序
我调整了其中一个公式,得到:
=iferror(query(A3:D20, "Select D where A = '"&G20&"' and B = '"&I20&"' order by C desc limit 1",0), "no data found")
不使用查询功能,但似乎“查询评估电子表格以返回当前学生在当前标准下的最新评估”:
构造数据作为示例:
Student Standard Date Score
Bod5 C 2/2/2015 9
Bod6 B 1/1/2015 8
Bod7 C 7/7/2015 7
Bod8 A 9/9/2015 6
Bod1 B 3/3/2015 5
Bod2 C 4/4/2015 43
Bod3 B 6/6/2015 2
Bod4 C 1/1/2015 1
Bod1 A 1/1/2016 8
Bod1 A 2/2/2017 7
Bod1 A 1/1/2013 6
Bod1 A 1/1/2011 5
Bod9 A 9/9/2009 9
Bod9 B 1/1/2011 3
Bod9 C 3/3/2013 2
Bod9 A 10/10/2010 4
Bod9 B 11/1/2001 2
Bod9 C 4/4/2014 1
输出:
不使用查询功能,但似乎“查询评估电子表格,以返回当前学生在当前标准下的最新评估”:
构造数据作为示例:
Student Standard Date Score
Bod5 C 2/2/2015 9
Bod6 B 1/1/2015 8
Bod7 C 7/7/2015 7
Bod8 A 9/9/2015 6
Bod1 B 3/3/2015 5
Bod2 C 4/4/2015 43
Bod3 B 6/6/2015 2
Bod4 C 1/1/2015 1
Bod1 A 1/1/2016 8
Bod1 A 2/2/2017 7
Bod1 A 1/1/2013 6
Bod1 A 1/1/2011 5
Bod9 A 9/9/2009 9
Bod9 B 1/1/2011 3
Bod9 C 3/3/2013 2
Bod9 A 10/10/2010 4
Bod9 B 11/1/2001 2
Bod9 C 4/4/2014 1
输出:
不使用查询功能,但似乎“查询评估电子表格,以返回当前学生在当前标准下的最新评估”:
构造数据作为示例:
Student Standard Date Score
Bod5 C 2/2/2015 9
Bod6 B 1/1/2015 8
Bod7 C 7/7/2015 7
Bod8 A 9/9/2015 6
Bod1 B 3/3/2015 5
Bod2 C 4/4/2015 43
Bod3 B 6/6/2015 2
Bod4 C 1/1/2015 1
Bod1 A 1/1/2016 8
Bod1 A 2/2/2017 7
Bod1 A 1/1/2013 6
Bod1 A 1/1/2011 5
Bod9 A 9/9/2009 9
Bod9 B 1/1/2011 3
Bod9 C 3/3/2013 2
Bod9 A 10/10/2010 4
Bod9 B 11/1/2001 2
Bod9 C 4/4/2014 1
输出:
不使用查询功能,但似乎“查询评估电子表格,以返回当前学生在当前标准下的最新评估”:
构造数据作为示例:
Student Standard Date Score
Bod5 C 2/2/2015 9
Bod6 B 1/1/2015 8
Bod7 C 7/7/2015 7
Bod8 A 9/9/2015 6
Bod1 B 3/3/2015 5
Bod2 C 4/4/2015 43
Bod3 B 6/6/2015 2
Bod4 C 1/1/2015 1
Bod1 A 1/1/2016 8
Bod1 A 2/2/2017 7
Bod1 A 1/1/2013 6
Bod1 A 1/1/2011 5
Bod9 A 9/9/2009 9
Bod9 B 1/1/2011 3
Bod9 C 3/3/2013 2
Bod9 A 10/10/2010 4
Bod9 B 11/1/2001 2
Bod9 C 4/4/2014 1
输出:
除了pnuts提供的精细解决方案(样本数据为+1),以下是使用查询的一些可能性(检查中的绿色单元格) 或 应根据标准为每个学生创建一个包含最新日期的表 如果要使用单元格引用(其中一个单元格包含学生姓名,另一个单元格包含标准),请尝试:
其中G20为学生姓名,I20为标准(根据需要更改范围)。I除了pnuts提供的精细解决方案(+1为样本数据),以下是使用查询的一些可能性(检查中的绿色单元格) 或 应根据标准为每个学生创建一个包含最新日期的表 如果要使用单元格引用(其中一个单元格包含学生姓名,另一个单元格包含标准),请尝试:
其中G20为学生姓名,I20为标准(根据需要更改范围)。I除了pnuts提供的精细解决方案(+1为样本数据),以下是使用查询的一些可能性(检查中的绿色单元格) 或 应根据标准为每个学生创建一个包含最新日期的表 如果要使用单元格引用(其中一个单元格包含学生姓名,另一个单元格包含标准),请尝试:
其中G20为学生姓名,I20为标准(根据需要更改范围)。I除了pnuts提供的精细解决方案(+1为样本数据),以下是使用查询的一些可能性(检查中的绿色单元格) 或 应根据标准为每个学生创建一个包含最新日期的表 如果要使用单元格引用(其中一个单元格包含学生姓名,另一个单元格包含标准),请尝试:
其中G20是学生姓名,I20是标准(更改范围以适应)。
在select子句中必须使用max(这是聚合函数)。如果需要帮助,请考虑一些示例数据。您必须使用max(这是聚合函数)。在SELECT子句中。如果需要帮助,请考虑一些示例数据。在SELECT子句中,必须使用max(这是聚合函数)。如果需要帮助,请考虑一些示例数据。您必须使用max(这是聚合函数)。在SELECT子句中。如果需要帮助,请考虑一些示例DATA.OK,所以我修改了其中的一个公式,得到了<代码> = IFError(查询(A3:D20),选择D,其中A=‘G&20’和‘B=’和‘I20&’’顺序由C DESC限制1,0),“没有找到数据”。这给了我想要的分数。谢谢!好的,所以我调整了其中一个公式,得到了=iferror(查询(A3:D20,“选择D,其中A=”&G20&“,B=”&I20&“'order by C desc limit 1”,0),“没有找到数据”)
这给了我想要的分数。谢谢!好的,所以我调整了其中一个公式,得到了=iferror(查询)(A3:D20,“选择D,其中A=”&G20&“和B=”&I20&“'order by C desc limit 1”,0),“未找到数据”)
这给了我想要的分数。谢谢!好吧,所以我调整了其中一个公式,得到了=iferror(查询(A3:D20,“选择D,其中A=”&G20&“和B=”&I20&“order by C desc limit 1”,0),“未找到数据”)
这给了我想要的分数。谢谢!
=iferror(query(A3:D20, "Select A, B, C where A = '"&G20&"' and B = '"&I20&"' order by C desc limit 1",0), "no data found")