回答編集履歴
4
不要行を修正
    
        answer	
    CHANGED
    
    | 
         @@ -11,7 +11,6 @@ 
     | 
|
| 
       11 
11 
     | 
    
         
             
              var sh        = ss.getSheetByName('コピー元シート名');
         
     | 
| 
       12 
12 
     | 
    
         
             
              var _lastRow  = sh.getLastRow();
         
     | 
| 
       13 
13 
     | 
    
         
             
              var data      = sh.getRange(2, 1, _lastRow, 7).getValues();
         
     | 
| 
       14 
     | 
    
         
            -
              data = sh.getRange("A2:G").getValues();
         
     | 
| 
       15 
14 
     | 
    
         | 
| 
       16 
15 
     | 
    
         
             
              var classidsh   = ss.getSheetByName('キーとなる別シートのシート名');
         
     | 
| 
       17 
16 
     | 
    
         
             
              var classiddata = classidsh.getDataRange().getValues();
         
     | 
3
    
        answer	
    CHANGED
    
    | 
         @@ -41,6 +41,7 @@ 
     | 
|
| 
       41 
41 
     | 
    
         
             
              // 集約したデータを各スプレッドシートに書き込む
         
     | 
| 
       42 
42 
     | 
    
         
             
              for (var i = 0; i < classiddata.length; i++){
         
     | 
| 
       43 
43 
     | 
    
         
             
                var classid = classiddata[i][0];
         
     | 
| 
      
 44 
     | 
    
         
            +
                if (classid == null || classid == 0) continue;  // 想定されるエラー対策(こちらでは発生していないが念のため)
         
     | 
| 
       44 
45 
     | 
    
         
             
                var copyss = SpreadsheetApp.openById(classid);
         
     | 
| 
       45 
46 
     | 
    
         
             
                var copysh = copyss.getSheetByName(targetSheetName);
         
     | 
| 
       46 
47 
     | 
    
         
             
                if (copysh == null){
         
     | 
2
修正
    
        answer	
    CHANGED
    
    | 
         @@ -49,7 +49,7 @@ 
     | 
|
| 
       49 
49 
     | 
    
         
             
                }
         
     | 
| 
       50 
50 
     | 
    
         
             
                var copy_lastRowPlus1 = copysh.getLastRow() + 1;  // 書き込み先の最終行+1
         
     | 
| 
       51 
51 
     | 
    
         
             
                var copydata = arrays[classid];  // キーを指定して書き込むデータを格納。
         
     | 
| 
       52 
     | 
    
         
            -
                if (copydata == null) continue; 
     | 
| 
      
 52 
     | 
    
         
            +
                if (copydata == null || copydata.length < 1) continue; // エラー対策。データがない場合はスキップ。
         
     | 
| 
       53 
53 
     | 
    
         
             
                var lastColumn = 5  // カラム数を設定
         
     | 
| 
       54 
54 
     | 
    
         
             
                var lastRow = copydata.length;        // 行数を取得
         
     | 
| 
       55 
55 
     | 
    
         
             
                copysh.getRange(copy_lastRowPlus1, 1, lastRow, lastColumn).setValues(copydata);
         
     | 
1
修正
    
        answer	
    CHANGED
    
    | 
         @@ -49,7 +49,8 @@ 
     | 
|
| 
       49 
49 
     | 
    
         
             
                }
         
     | 
| 
       50 
50 
     | 
    
         
             
                var copy_lastRowPlus1 = copysh.getLastRow() + 1;  // 書き込み先の最終行+1
         
     | 
| 
       51 
51 
     | 
    
         
             
                var copydata = arrays[classid];  // キーを指定して書き込むデータを格納。
         
     | 
| 
      
 52 
     | 
    
         
            +
                if (copydata == null) continue;  // データがない場合はスキップ。
         
     | 
| 
       52 
     | 
    
         
            -
                var lastColumn =  
     | 
| 
      
 53 
     | 
    
         
            +
                var lastColumn = 5  // カラム数を設定
         
     | 
| 
       53 
54 
     | 
    
         
             
                var lastRow = copydata.length;        // 行数を取得
         
     | 
| 
       54 
55 
     | 
    
         
             
                copysh.getRange(copy_lastRowPlus1, 1, lastRow, lastColumn).setValues(copydata);
         
     | 
| 
       55 
56 
     | 
    
         
             
              }
         
     |