我有一个包含多个列的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电子表格中进行转置
感谢您的帮助!
答案 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++;
}
}
}
}