2016-03-05 63 views
1

对于我的部门,我为每位老师制作了一张动态且灵活的概览表,显示了他的学生是否受过教育。在一张纸上堆叠多个查询输出

在一个概览表中,我做了几个查询,收集数据形成不同的来源(不同年份的学生和教师)。查询在一列中,因为我想为每位教师生成一个列表。

但是,查询公式生成的输出可能在长度上有所不同(=需要的行数=学生人数),这就是为什么我必须在总览表中允许固定数量的行。这可能会导致列表中空白的丑行。

是否有办法保持灵活性(对于每位教师都有不同数量的辅导学生),但删除空白行?

回答

1

您可以将列使用,,对于行使用;,也可以将范围使用{}包装。 (需要说明您是串联的范围后添加花括号)
假设在Sheet1Sheet2汇总数据和Sheet3你可以使用:

={QUERY(Sheet2!A2:B, "SELECT A, B WHERE A <> ''"); 
    QUERY(Sheet3!A2:B, "SELECT A, B WHERE A <> ''")} 

哪里A是学生的姓名(或任何不能为空)和B东西像任意标记。当然,这个查询可以像你想的那样复杂(可能最好是预先构建并通过引用重用它)。

0

如果每个教师的任何表格都有相同数量的相同列,那么您的数据结构良好,您可以对其进行单一查询。

=query({Sheet1!A1:C;Sheet2!A2:C},"select * where Col1 <> ''") 

就一些细节问题注意事项:

  1. 查询应该只需要一行页眉,使用Sheet1!A1:C页眉和其他SheetName!A2:C
  2. 查询时有源,包含多个表,使用Col1, Col2, Col3..。而不是列的字母A, B, C...它可能会更方便。此规则也适用于从其他文件导入数据的情况。