Google sheets 谷歌表格-取消单元格合并并填充

Google sheets 谷歌表格-取消单元格合并并填充,google-sheets,google-sheets-macros,Google Sheets,Google Sheets Macros,我需要使用其他人维护的工作表并执行以下操作(以便可以导出到csv): 取消所有单元格的合并 填充值 合并的单元格位于多个列中,因此我需要在一个范围内迭代 手工做太多了,需要定期做。我的javascript和GoogleSheets对象模型知识大约为零,但我知道这是可能的,因为我可以用VBA实现。我搜索过,但只能找到VBA/Excel的编程答案 如何在Google Sheets中高效地执行此操作?您可以使用breakspart()来执行此操作。我假设合并的范围不是静态的,并且有多次出现。此脚本

我需要使用其他人维护的工作表并执行以下操作(以便可以导出到csv):

  • 取消所有单元格的合并
  • 填充值
  • 合并的单元格位于多个列中,因此我需要在一个范围内迭代
手工做太多了,需要定期做。我的javascript和GoogleSheets对象模型知识大约为零,但我知道这是可能的,因为我可以用VBA实现。我搜索过,但只能找到VBA/Excel的编程答案


如何在Google Sheets中高效地执行此操作?

您可以使用
breakspart()
来执行此操作。我假设合并的范围不是静态的,并且有多次出现。此脚本将取消合并活动工作表中的所有合并范围

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).breakApart();
}
改编自

以下内容在选定范围内打断并用以上内容填充空白:

函数onOpen(){ var ui=SpreadsheetApp.getUi(); //或文档或格式。 ui.createMenu('BreakAndFill') .addItem('Break-Fill空白单元格','menuItem1') .addToUi(); } 函数menuItem1(){ breakandfillblankwithover() } //突破射程 //在从上到下的范围内迭代 //并从左向右填充空白单元格 //值正好在它们上面。 函数breakandfillblankwithover(){ var sheet=SpreadsheetApp.getActiveSheet(); var range=sheet.getActiveRange(); Logger.log('范围高度为:'+范围.getHeight()); var values=range.getValues(); range.breakspart(); 变量宽度=值[0]。长度; 变量高度=值。长度; Logger.log('宽度为'+宽度); Logger.log('高度为'+高度); 对于(变量i=0;i