用于组合列的Google App脚本

时间:2012-03-12 05:37:46

标签: google-apps-script google-sheets

我有一个包含多个列的Google电子表格,每列都有可变的行数。我想将所有列合并为一列。

所以如果以下是数据: 第1栏第2栏第3栏第4栏 第1行:A,B,C,D 第2行:,,, E

我想得到 第1行:A 第2行:B 第3行:C 第4行:D 第5行:E

我希望这对原始工作表具有非破坏性,因此应创建一个具有唯一名称的新电子表格选项卡。唯一名称是重要的b / c我想在多个不同的电子表格上运行此功能。唯一名称将避免重叠。

请求是帮我编写脚本,在google apps电子表格中进行转置

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这是脚本,如果您遇到任何问题,请告诉我,此时它会忽略空白单元格和值“0”。

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = spreadsheet.getSheets()[0];
  var lastRow = sheet1.getLastRow();
  var lastColumn = sheet1.getLastColumn();
  var values = sheet1.getRange(1, 1, lastRow, lastColumn).getValues();
  var d = new Date();
  var newSheet = spreadsheet.insertSheet("Sheet: "+d.getTime());
  var counter=1;
  for (var i=0;i<=lastRow-1;i++) {
    for (var j=0;j<=lastColumn-1;j++) {
      if(values[i][j]!="") {
        newSheet.getRange(counter,1).setValue(values[i][j]);
        counter++;
      }
    }
  }
}