我有按照一定顺序排列的9108行的google工作表,但是我努力将第二行紧挨着第一行,将第三行紧挨着移动(下图),我不能只接受所有的第9000行并将其拆分为3000列,我试图找到这样的脚本解决方案:
将其他所有行移至前一行
在“其他”行的下一行之后,将每一行都移动
删除空白行
并在不破坏订单的情况下处理工作表中的所有行
感谢任何人的帮助或寻找解决方案。
编辑:
这可以满足我的需要,但是它创建了列,并且有9108行,由于单元格过多,它在100行之后停止了。
function Test() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var ss = spreadsheet.getActiveSheet()
var index = 1
var rowSpan = 1
var columnSpan = 1
while (index <= ss.getLastRow()) {
ss.getRange(index, 1, 1, index + 1).moveTo(ss.getRange(rowSpan, columnSpan))
columnSpan = columnSpan + 3
if (columnSpan == 13) {
columnSpan = 1
rowSpan++
}
index++
}
}
答案 0 :(得分:0)
请尝试使用此功能:
function Test() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet()
var ss = spreadsheet.getActiveSheet()
var index = 1
var rowSpan = 1
var columnSpan = 1
var value
while (index <= ss.getLastRow()) {
value = ss.getRange(index, 1).getValue()
ss.getRange(rowSpan, columnSpan).setValue(value)
columnSpan++
if (columnSpan == 4) {
columnSpan = 1
rowSpan++
}
index++
}
}
您可以注册一个新的宏,然后在其中复制/粘贴此函数的内容。
之后,您可以清除不需要的额外数据。