尝试将长列表排序为单独的列

Attempting to sort long list into separate columns

本文关键字:单独 排序 列表      更新时间:2023-09-26

我们目前有很长的学生名单,我们正试图根据年份将他们分类为不同的列。我试图使这尽可能简单,这样我就不必为每个学年的更改重写代码。它的基本工作方式是它应该从一个电子表格中获取学生列表,然后根据作为参数传入的年份返回学生数组。任何帮助将不胜感激。这是我当前的代码:

    function yearSort(gradYearDesired)
    {
      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var temp =  SpreadsheetApp.setActiveSheet(sheet.getSheetByName("StudentAccountsImport"));
      var tempArray = [];
      var nameArray = [];
      var outputArray = [];
      var range = temp.getRange("G2:G");
      tempArray.push(range);
      return tempArray;
      var range = temp.getRange("B2:B");
      nameArray.push(range);
      for(var i = 0; i < tempArray.length; i++)
      {
        if(tempArray[i] == gradYearDesired)
        {
          outputArray.push(nameArray[i]);
        }
      }
      return outputArray;
    }

使用查询函数,无需脚本:

=query(StudentAccountsImport!B:G, "select B where G = 2016")

如果这不起作用,请添加有关数据放置位置的更多详细信息。


也可以使用过滤器:

=filter(StudentAccountsImport!B:B, StudentAccountsImport!G:G = 2016)

但查询提供了更多选择选项。