根据选择从多张纸张中拉出相同的数据范围

时间:2016-10-28 18:05:09

标签: google-sheets

我正在为一些教师制作成绩簿。我提供了简化版HERE

在其中一张(摘要一)上,我试图显示所选子项(B3)的所选学生(A3)的成绩。我在示例中从三个不同的表中提取数据:数学,科学,英语。提取的数据显示在摘要选项卡的第6行中。我的问题是代码的长度。

  

= IF(B3 =“数学”; IFERROR(INDEX(数学!$ B $ 3:$ F $ 8; MATCH($ A $ 3;数学!$ B $ 3:$ B $ 8; 0));“Choisiunélève dans la cellule B4“); IF(B3 =”Science“; IFERROR(INDEX(Science!$ B $ 3:$ F $ 8; MATCH($ A $ 3; Math!$ B $ 3:$ B $ 8; 0));” Choisiunélèvedansla cellule B4“); IF(B3 =”English“; IFERROR(INDEX(英语!$ B $ 3:$ F $ 8; MATCH($ A $ 3;数学!$ B $ 3:$ B $ 8; 0) );“Choisiunélèvedansla cellule B4”))))

我计划有16个科目,但我无法想出更有效的方法来获得我的成绩。无论选项卡如何,所有数据都来自相同的范围。主题是唯一可以从选择变为选择的变量。

由于

2 个答案:

答案 0 :(得分:1)

我会用这样的查询来做到这一点:

=query(query(INDIRECT(B3&"!B3:F");"select * ");"select * where Col1 contains '"&A3&"'")

B3&安培;从下拉列表中获取您选择的工作表名称,并且“& A3&”从另一个下拉列表中获取学生姓名。这应该处理新的床单添加学生和额外的日期。

使用过滤器似乎解决了这个问题。尝试:

=filter(INDIRECT(H4&"!B7:BR"),INDIRECT(H4&"!B7:B")=B4)

答案 1 :(得分:0)

如果您乐意添加“工作”标签“所有学生成绩”并在主题表中使用A栏,那么您的摘要应该保持简单和可扩展。 在“学生总结”中!A6 使用

argument #2 must support iteration

在B3的新“All Sudent Grades”中输入:

=filter('All Student Grades'!C3:G18,'All Student Grades'!B3:B18=$B$3,'All Student Grades'!C3:C18=$A$3)

请注意,您只需将所有主题输入数组一次。数组将自动填充。

在单元格A2中的每个主题中添加主题的名称 在细胞A3的每个受试者中添加:

={Math!A3:F8;Science!A3:F8;English!A3:F8}

当数据向下增长时,ArrayFormula会自动将主题添加到数据的每一行。

希望这有助于作为一个起点。