Я хочу скопировать значения из определенного столбца, а затем вставить их в транспонирование в первые столбцы, поэтому, если a введите 3 значения по вертикали, вставьте их горизонтально в следующую доступную строку.
Я использовал функцию appendRow, но вставляю значения в соответствии с исходными значениями, а не после заголовка назначения.
После использования этого кода я получаю следующее: , но не вставляет значения после первой строки (заголовка)
Результаты
function transpose(sh) {
var arrayThisRow,cellValue,i,j,lastCol,lastrow,numrows,pastesheet,
rowrange,rowValues,sh;
sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test");
pastesheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("test");
lastrow = sh.getLastRow();
lastCol = sh.getLastColumn();
Logger.log('lastCol: ' + lastCol);
numrows = lastrow;
arrayThisRow = [];
for(i=1; i<= numrows; i++) {
//Logger.log(i);
rowrange = sh.getRange(i,4,2,lastCol);
//Logger.log(rowrange);
rowValues = rowrange.getValues();//
rowValues = rowValues[1];//There is only 1 inner array
for(j=0; j <= lastCol; j++) {
cellValue = rowValues[j];
if (cellValue) {
arrayThisRow.push(cellValue);
} else {
break;//Stop pushing values into the array as soon as a blank cell is found
}
}
}
Logger.log('arrayThisRow: ' + arrayThisRow)
if (arrayThisRow.length > 0) {
pastesheet.appendRow(arrayThisRow)
}
}