2016-10-27 19 views
1

現在、私は行を重複しているが、行のデータの最初のセルしか保持していないスクリプトがあります。私のスプレッドシート上でそれを実行している場合でも、現在、それは現在の行あたり15行が作成されます - それは、現在の行:(あなたはおそらく2回だけの機能を実行したGoogleシート重複行スクリプトが機能しない

function duplicateRows() { 

var sh, v, arr, c, b; 

sh = SpreadsheetApp.getActive() 
    .getSheetByName('products_export') 
v = sh.getDataRange() 
    .getValues(); 
arr = [v[0]]; 
v.splice(1) 
    .forEach(function (r, i) { 
     arr.push(r) 
     c = 0 
     while (c < 3) { 
      arr.push([r[0],"","","","","","","","","","","","","","","","","","","","","",""]) 
      c += 1; 
     } 
    }) 
sh.getRange(1, 1, arr.length, arr[0].length) 
    .setValues(arr); 
} 

答えて

0

ごとに4を作成することになっています。初期

N NAME AGE 
1 fish cat 
2 fire hat 

最初の実行:

N NAME AGE 
1 fish cat 
1 
1 
1 
2 fish cat 
2 
2 
2 
01それぞれの

* 4:

1×4 = 4

1 - 4(ベース行)= 3コピー

第実行:

N NAME AGE 
1 fish cat 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
2 fish cat 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 

* 4つのコピー各

4 * 4 = 16

16-1(ベース行)= 15部

関連する問題