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

如何用Apps Script将含多行值的单元格拆分为独立行?

用Google Apps Script拆分含换行符的单元格为独立行

以下是可以直接使用的脚本,能将指定列中用\n分隔的内容拆分为独立行,同时保留其他列的对应数据:

function splitCellsByNewline() {
  // 替换为你的目标工作表名称
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  // 获取工作表所有数据
  const sourceData = targetSheet.getDataRange().getValues();
  const processedData = [];

  // 遍历每一行数据
  sourceData.forEach(row => {
    // 假设要拆分的是第2列(索引从0开始,对应表格B列),根据实际情况修改索引
    const splitContent = row[1].toString().split('\n').filter(item => item.trim() !== '');
    
    // 如果拆分出多个内容,生成对应新行
    if (splitContent.length > 1) {
      splitContent.forEach(item => {
        const newRow = [...row];
        newRow[1] = item.trim();
        processedData.push(newRow);
      });
    } else {
      // 没有换行的行直接保留
      processedData.push(row);
    }
  });

  // 可选:将结果写入新工作表,避免覆盖原数据
  const resultSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet("拆分结果");
  resultSheet.getRange(1, 1, processedData.length, processedData[0].length).setValues(processedData);

  // 如果要直接覆盖原表内容,注释上面两行,启用下面两行
  // targetSheet.clearContents();
  // targetSheet.getRange(1, 1, processedData.length, processedData[0].length).setValues(processedData);
}

使用说明

  1. 打开你的Google表格,点击「扩展程序」→「Apps Script」进入脚本编辑器
  2. 清空默认代码,粘贴上面的脚本
  3. 修改两处关键配置:
    • 将"Sheet1"替换为你要处理的工作表名称
    • 将row[1]替换为需要拆分的列的索引(比如表格A列对应索引0,C列对应索引2)
  4. 点击运行按钮,授权脚本权限后即可执行

注意事项

  • 脚本默认将拆分结果写入新工作表,避免误删原数据;如果需要直接覆盖原表,注释掉写入新表的代码,启用覆盖原表的代码
  • 拆分时会自动过滤掉空的拆分项(比如单元格末尾的换行)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 12:01:01