Google sheet 移动单元格

Google sheet moving cells

我有 google sheet 有 9108 行遵循一定的顺序,但我努力将第二行移动到第一行旁边,第三行移动到其他行旁边(下图),我不能只接受所有 9000 行并将其拆分为 3000 列,我试图找到这样的脚本解决方案:

每隔一行移动到前一行的旁边
在移动的行之后移动每一行 next "other" row
删除空白行

并在不破坏顺序的情况下对 sheet 中的所有行执行此操作

感谢任何人的帮助或寻找解决方案。

编辑:

这按我需要的方式工作,但它创建列并在 9108 行后停止,因为单元格太多。

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++
  }
}

请尝试使用此功能:

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++
 }
}

你可以注册一个新的宏,然后copy/paste在里面加入这个函数的内容。

之后,您可以清除不需要的额外数据。