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

如何使用Google Apps Script在Google Sheets中对齐并转置数据

用Google Apps Script合并Google Sheets中同ID的多行数据

需求说明

原始数据格式

Col1Col2
225566dash
225566slash
225566backspace
221166enter
221166delete
221166shift

目标数据格式

Col1Col2Col3Col4
225566dashslashbackspace
221166enterdeleteshift

实现代码

function consolidateData() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sourceSheet = ss.getSheetByName('原始数据'); // 替换为你的原始数据工作表名称
  const targetSheet = ss.getSheetByName('整理后数据'); // 替换为目标工作表名称

  // 获取原始数据,跳过表头行
  const rawData = sourceSheet.getDataRange().getValues().slice(1);
  const resultMap = {};

  // 按Col1的值分组,合并对应Col2的内容
  rawData.forEach(row => {
    const id = row[0];
    const content = row[1];
    if (!resultMap[id]) {
      resultMap[id] = [id];
    }
    resultMap[id].push(content);
  });

  // 将分组结果转换为二维数组
  const outputData = Object.values(resultMap);

  // 写入目标工作表
  targetSheet.clear();
  // 动态生成表头
  const headers = ['Col1'].concat(Array.from({length: outputData[0].length - 1}, (_, i) => `Col${i+2}`));
  targetSheet.getRange(1, 1, 1, headers.length).setValues([headers]);
  targetSheet.getRange(2, 1, outputData.length, outputData[0].length).setValues(outputData);
}

使用说明

  1. 打开目标Google Sheets文件,点击菜单栏「扩展程序」→「Apps Script」
  2. 把上述代码粘贴到脚本编辑器,替换工作表名称为你实际使用的名称
  3. 保存脚本后运行consolidateData函数,首次运行需完成授权验证
  4. 完成后「整理后数据」工作表会生成合并好的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:38:18