首页 > 解决方案 > 有没有办法在 Google 表格中动态合并包含特定文本的单元格?

问题描述

我有一个使用 importrange 动态填充六列的 Google 表格跟踪器。我正在导入的数据中有五个类别标题,我希望在所有六列中动态合并,而不是仅仅填充“A”列。我不想在发送每日更新电子邮件之前手动合并这五个单元格,而是想找到一种方法让这些单元格根据每个单元格中的唯一文本字符串自动合并。

我不精通谷歌脚本,但是一些搜索已经产生了这段代码作为开始。它不断返回范围的未定义值,我不明白为什么会这样。先感谢您!

function FormatCells() {
  var ss = SpreadsheetApp.getActive()
  var s = ss.getSheetByName("Copy of National Region Tracker ");
  var range = s.getDataRange("A2:A");
  var values = range.getValues();
  //something wrong with following line not sure what you want
  for( var row = values.length -1; [row][0]; ) {
    if (values[row][1] == 'Upcoming Meetings') {
      s.getRange(row+0,0,1,6).mergeAcross();
    }
  }
}

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


我想这就是你要找的:

function FormatCells() {
  var ss=SpreadsheetApp.getActive()
  var s=ss.getSheetByName("Copy of National Region Tracker");
  var r=s.getRange(2,1,s.getLastRow()-1,1);
  var values=r.getValues();
  for(var i=0;i<values.length;i++) {
    if (values[i][0]=='Upcoming Meetings') {
      s.getRange(i+2,1,1,6).mergeAcross();
    }
  }
}

推荐阅读