Google Sheets合并已排序列重复单元格的技术需求
解决Google Sheets重复值合并问题
方法一:内置公式快速实现
由于A列已排序,重复值连续排列,用以下公式即可批量生成目标结果:
- 提取A列唯一值:在空白区域的首行(比如新工作表的A1)输入:
例:若原数据是A2到A100,写=UNIQUE(原数据所在的A列范围)=UNIQUE(A2:A100) - 提取对应列顶部值:在B列对应单元格输入:
公式里的=XLOOKUP(A2,原数据A列范围,原数据B列范围,"",0,1)1表示返回第一个匹配项(即重复组的顶部行值),将此公式向右拖动到H列,自动适配C到H列的引用。
方法二:Google Apps Script 一键自动化
如果需要频繁处理,用脚本实现一键合并:
- 打开表格,点击「扩展程序」→「Apps脚本」,替换默认代码为:
function mergeDuplicateRows() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const data = sheet.getDataRange().getValues(); const mergedData = []; let currentKey = data[0][0]; let currentRow = data[0]; for (let i = 1; i < data.length; i++) { const row = data[i]; if (row[0] === currentKey) continue; // 重复值跳过,保留顶部行 mergedData.push(currentRow); currentKey = row[0]; currentRow = row; } mergedData.push(currentRow); // 加入最后一组数据 // 清空原表并写入结果(建议先备份数据) sheet.clearContents(); sheet.getRange(1, 1, mergedData.length, mergedData[0].length).setValues(mergedData); } - 保存脚本后,点击运行按钮授权执行,即可完成合并。
内容的提问来源于stack exchange,提问作者Omer Daniel
相关产品推荐
相关产品推荐

