一つの Google spread sheet を複数のシートに分割するには?

function splitSheetIntoRows(sourceSheetName, numRowsPerSheet) {
  var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sourceSheetName);
  if (!sourceSheet) {
    throw new Error("指定されたシートが見つかりませんでした。");
  }
  
  var lastRow = sourceSheet.getLastRow();
  var sourceData = sourceSheet.getRange(1, 1, lastRow, sourceSheet.getLastColumn()).getValues();
  
  for (var i = 0; i < lastRow; i += numRowsPerSheet) {
    var numRows = Math.min(numRowsPerSheet, lastRow - i);
  // sheet 名の設定
    var newSheetName = sourceSheetName + "_" + (i + 1) + "-" + (i + numRows);
    var newSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(newSheetName);
    newSheet.getRange(1, 1, numRows, sourceSheet.getLastColumn()).setValues(sourceData.slice(i, i + numRows));
  }
}

function main() {
  var sourceSheetName = "ALL"; // 分割元のシート名をここに指定
  var numRowsPerSheet = 25; // 分割する行数をここに指定
  splitSheetIntoRows(sourceSheetName, numRowsPerSheet);
}

 

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

© 2024 Falco Tech Blog Suffusion theme by Sayontan Sinha