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

咨询Google Sheets拆分逗号分隔内容并复制整行数据的方法

Google Sheets 拆分逗号分隔内容到新行的解决方案

方法1:使用动态数组公式(推荐,无需修改原数据)

在空白单元格(比如E1)输入以下公式,结果会自动溢出填充:

=LET(
  data, A2:C,
  names, INDEX(data,,3),
  split_names, SPLIT(names, ","),
  expanded_A, INDEX(data,,1)&"",
  expanded_B, INDEX(data,,2)&"",
  result, HSTACK(
    FLATTEN(IF(split_names<>"", expanded_A, "")),
    FLATTEN(IF(split_names<>"", expanded_B, "")),
    TRIM(FLATTEN(split_names))
  ),
  FILTER(result, INDEX(result,,3)<>"")
)
  • 核心逻辑:
    • 用SPLIT拆分ColC的逗号分隔姓名
    • 通过FLATTEN将拆分后的多列姓名转为单行,并同步扩展对应行的ColA、ColB数据
    • TRIM清除姓名前后多余空格,FILTER过滤空行

方法2:使用内置拆分功能(操作简单,建议先备份原数据)

  1. 复制原数据到新工作表,避免破坏原始内容
  2. 选中包含数据的目标区域(如A1:C4)
  3. 点击顶部菜单栏「数据」→「拆分文本」→「拆分到行」
  4. 在弹窗中选择分隔符为「逗号」,点击「确定」即可完成拆分

方法3:使用Apps Script(适合批量处理或自动化场景)

  1. 打开目标表格,点击顶部菜单栏「扩展程序」→「Apps 脚本」
  2. 删除默认代码,粘贴以下脚本:
function splitNamesToRows() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const headers = data.shift();
  const result = [];
  
  data.forEach(row => {
    const colA = row[0];
    const colB = row[1];
    const names = row[2].split(",").map(name => name.trim());
    
    names.forEach(name => {
      result.push([colA, colB, name]);
    });
  });
  
  // 在新工作表生成拆分结果
  const newSheet = sheet.getParent().insertSheet("拆分结果");
  newSheet.appendRow(headers);
  newSheet.getRange(2, 1, result.length, result[0].length).setValues(result);
}
  1. 点击「运行」,完成授权后,系统会自动创建名为「拆分结果」的新工作表并填充数据

内容的提问来源于stack exchange,提问作者Danillo Villas Neto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:47:39