【问题标题】:Google Sheets unmerge and populate (both down and right)Google 表格取消合并和填充(上下)
【发布时间】:2020-12-12 13:57:33
【问题描述】:

对于不同的数据集,我需要取消合并并将原始值填充到未合并的单元格中。

有些列包含不同行中的合并单元格。

function myFunction() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var sheetRange = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
 var mergedRanges = sheetRange.getMergedRanges();
 sheetRange.breakApart(); 
}

此代码可以很好地取消合并。不过,我需要填充取消合并后创建的新空单元格。

【问题讨论】:

  • 请说明您想要实现的目标。附上带有示例数据的工作表屏幕截图以供理解。

标签: google-apps-script google-sheets


【解决方案1】:

使用此问题的答案解决了它: Unmerge spreadsheet cells and fill ex-merged empty cells with data

function myFunction() {
  // It doesn't work instantaneously. I would take ~20 seconds depending on the size of your data.
  
  var sheet = SpreadsheetApp.getActiveSheet();
  
  // Get First three columns (you can change this part to adapt)
  var sheetRangeCol = sheet.getRange(1, 1, sheet.getMaxRows(), 3);
  
  // Get 2 raws starting with 4th (you can change this part to adapt)
  var sheetRangeRow = sheet.getRange(4, 1, 2, sheet.getMaxColumns());


  sheetRangeCol
  .getMergedRanges()
  .forEach(range => range.setValue(range.breakApart().getValue()));
  
  sheetRangeRow
  .getMergedRanges()
  .forEach(range => range.setValue(range.breakApart().getValue()));
}

它会破坏您提供的范围内的合并单元格,然后将原始值填充到新创建的单元格中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    相关资源
    最近更新 更多