拆分脚本谷歌电子表格v2

时间:2017-03-05 09:56:30

标签: google-apps-script google-sheets google-form

我希望我的表单中的每个新响应条目,该行都被复制到另一个表单。然后,如果该行由具有多个数据的单元格组成,则这些单元格将分割为多个行,就像我的样本表一样。最后,新条目总是发生在最后一个非空行之后。

有可能这样做吗? 如果我还不够精确,请告诉我。

亲切。

File link

1 个答案:

答案 0 :(得分:0)

这会让你接近你想要的。我添加了表格' Feuille 2'保留重新调整的数据。您可以从onFormSubmit functionL

运行它
function splitAll(){
 var ss=SpreadsheetApp.getActiveSpreadsheet() 
 var s=ss.getSheetByName("Réponses au formulaire 2")
 var lr=s.getLastRow()
 var range=s.getRange(2, 2, lr-1, 3).getValues()
 var output=[]
 var split=[]

 for(var i=0;i<range.length;i++){
   for(var j=0;j<range[0].length;j++){
     if(j==0){}
     if(j==1){
    var split=range[i][j].split(", ")
     if(split.length != 1) {
       for(k=0;k<split.length;k++){
         output.push([range[i][0],split[k],""]);}
     }else{
         output.push([range[i][0],range[i][j],""]);
     }}
      if(j==2 && range[i][2] !="" ){
    var split=range[i][j].split(", ")
     if(split.length != 1) {
       for(k=0;k<split.length;k++){
         output.push([range[i][0],"",split[k]]);}
     }else{
         output.push([range[i][0],"",range[i][j]]);
     }}
    }}
 ss.getSheetByName("Feuille 2").getRange(2, 1, output.length,   output[0].length).setValues(output)
 }