2017-01-29 44 views
0

我試着徒勞地尋找答案,並希望我沒有遺漏任何東西。道歉,如果這已問過去,但這裏是我卡住的地方:Google表格 - 根據列標題將學生名單複製到新表單

我正在創建一個供教師使用的學生數據跟蹤器。他們的想法是,他們會進行幾分鐘的設置,在其中輸入他們的班級名稱和學生名單,然後單擊按鈕並使用該數據設置表單。

我已經想出瞭如何運行一個複製模板的腳本,並根據類名列表對其進行重命名,但是我卡在哪裏讓名冊自動複製。

名稱設置爲一個數組,每個類有兩列(名字和姓氏),類名稱在使用索引的合併列中自動填充。數據在單元格G2:D50(我現在有用於美學的間隔欄,但如果需要,可以將其刪除)。由於工作表將繼承顯示在學生姓名上方的類名,所以我認爲必須有一種方法來說:「將兩個'xx'名稱的列放在它們的上面,並將第3-50行的數據複製到這個新的從第x行開始的同名表格「

我總是可以使用導入範圍或查詢,但希望數據在可能的情況下自動粘貼爲值。

非常感謝!

編輯 - Here's a link to a sample sheet

+1

您能提供一個示例電子表格的鏈接嗎? –

+0

好主意!原文編輯。 [這裏是一個示例](https://docs.google.com/spreadsheets/d/1jEuXYem9a8qEac8V5yJJabDgVeZpl-8kiOu2FhCudCQ/edit?usp=sharing) –

+0

很少有問題:你的學生姓名在**開始**這張表格被格式化爲名字姓氏和複製的表格(即1至7張表格),它是姓氏的名字,那麼你只需要這種方式嗎?其次,在第一張表中包含學生姓名的列是否僅保留在那些按字母順序排列的列中(即G和H等中的1類名稱)。提示: - 您也可以從腳本動態設置IMPORTRANGE。 –

回答

0

我放在這個示例文件的腳本,刪除你設置A7公式:

  var studentRow = 4; 
      var studentColumn = 7 + (i*3); 
      var studentStartColumnName = NUM_RETURN_LETRA(studentColumn); 
      var lastRow = getFirstEmptyRowByColumnArray(studentStartColumnName) - 1; 
      var studentEndColumnName = NUM_RETURN_LETRA(studentColumn + 1); 
      var A1rangeString = studentStartColumnName + studentRow + ':' + studentEndColumnName + lastRow; 
      var studentRange = studentsSheet.getRange(A1rangeString); 

      //This will load the students into an Object. You would push the students to a Range in the new sheet.activate 
      var students = getRowsData(studentsSheet, studentRange); 

      // It appears the students would be placed starting in cell A7 as Last Name and B7 as First Name 
      var newRange = currentSheet.getRange("A7:B"); 
      var newValues = newRange.getValues(); 

      //Loop through all the read students and place them in the new location in the correct format 
      for (s in students){ 
      newValues[s][0] = students[s].lastName; 
      newValues[s][1] = students[s].firstName; 
      } 
      newRange.setValues(newValues); 

我也是在第二個腳本文件添加的代碼裏面,對於一些公用事業。我將該文件命名爲Utilities.gs。這包括getRowsData()函數。

它應該運作良好,但可能需要一點編輯工作在你的確切情況。

+0

這太好了。你是英雄,我非常感謝你的幫助! –

相關問題