我有一张工作表,试图用来显示许多科目的学生成绩概览,每个学生及其成绩都放在单独的行中。
概述
结果数据来自另一个系统,位于单独的工作表中。每个主题的每个结果都是单独的一行,其中第一列是学生ID,第二列是主题,第三列是结果。
结果集
我一直在尝试这样的各种形式的查询
=query(RESULTSET!A1:C,"SELECT C WHERE A = '1' AND B = 'ENGLISH'",1)
,但查询仅返回RESULTSET中第一行数据的第一个结果。
这是指向包含数据和查询的测试电子表格的链接,该数据重复出现此问题:https://docs.google.com/spreadsheets/d/15xLAyHumL2pC8mRfA4Qs9xMyrWZvK86kmoi2kBWnB34/edit?usp=sharing
我希望从结果集中看到与每个学生ID和科目匹配的结果,但是我只会看到第一个结果,而不论ID或科目如何。
答案 0 :(得分:0)
删除对A列的引用周围的单引号,并将query()中的headers参数设置为零。在B2中尝试
=iferror(query('result set 1'!$A$1:$C58,"SELECT C WHERE A = "&$A2&" AND B = '"&UPPER(B$1)&"'",0))
根据需要向右和向下填充,看看是否可行?
另一种选择是在B2中使用
=ArrayFormula(iferror(vlookup($A$2:$A$8&B$1, {'result set 1'!$A:$A&'result set 1'!$B:$B, 'result set 1'!$C:$C}, 2, 0)))
并向右填充(确保第2行下方没有数据)。