You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Apps Script实现合并重复行并通过onEdit触发器自动运行

Google表格Apps Script自动合并重复行实现方案

核心代码

将以下代码粘贴到你的Apps Script编辑器中,根据实际场景修改顶部配置项即可:

// 自定义配置项,根据你的表格情况修改
const CONFIG = {
  TARGET_SHEET_NAME: "Sheet1", // 需要执行合并的工作表名称
  MERGE_COLUMN_INDEX: 1, // 用于判断重复的列序号:A列=1,B列=2,以此类推
  DATA_START_ROW: 2 // 数据起始行,若表头占1行则填2,避免合并表头
}

function autoMergeDuplicateRows(e) {
  // 仅响应目标工作表的编辑操作
  const activeSheet = e.range.getSheet();
  if (activeSheet.getName() !== CONFIG.TARGET_SHEET_NAME) return;

  const lastRow = activeSheet.getLastRow();
  // 数据行数不足时直接退出
  if (lastRow < CONFIG.DATA_START_ROW) return;

  // 先解除目标列所有现有合并,避免旧格式干扰
  const targetColRange = activeSheet.getRange(CONFIG.DATA_START_ROW, CONFIG.MERGE_COLUMN_INDEX, lastRow - CONFIG.DATA_START_ROW + 1);
  targetColRange.breakApart();

  const colValues = targetColRange.getValues();
  let startMergeRow = CONFIG.DATA_START_ROW;
  let currentCompareValue = colValues[0][0];

  // 遍历判断连续重复值
  for (let i = 1; i < colValues.length; i++) {
    if (colValues[i][0] === currentCompareValue && currentCompareValue !== "") {
      continue;
    }
    // 出现不同值时,合并之前的连续重复行
    const endMergeRow = i + CONFIG.DATA_START_ROW - 1;
    if (endMergeRow > startMergeRow) {
      activeSheet.getRange(startMergeRow, CONFIG.MERGE_COLUMN_INDEX, endMergeRow - startMergeRow + 1).mergeVertically();
    }
    // 重置对比基准
    startMergeRow = i + CONFIG.DATA_START_ROW;
    currentCompareValue = colValues[i][0];
  }

  // 处理最后一组连续重复值
  if (lastRow > startMergeRow) {
    activeSheet.getRange(startMergeRow, CONFIG.MERGE_COLUMN_INDEX, lastRow - startMergeRow + 1).mergeVertically();
  }
}

onEdit触发器配置步骤

  • 打开目标Google表格,点击顶部菜单栏「扩展程序」→「Apps Script」进入脚本编辑页面,粘贴上述代码并保存项目
  • 点击编辑器左侧菜单栏「触发器」选项,点击右下角「添加触发器」按钮,按以下规则配置:
    • 选择要运行的函数:autoMergeDuplicateRows
    • 选择事件来源:来自电子表格
    • 选择事件类型:编辑时
    • 失败通知规则按需选择,配置完成后点击保存即可

注意事项

  • 合并操作不可逆,首次使用前建议先备份表格数据
  • 代码默认跳过空值,不会合并空行
  • 如果需要多列合并,可调整MERGE_COLUMN_INDEX参数或修改逻辑遍历多列执行

内容的提问来源于stack exchange,提问作者Onkar Pawar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:15:03