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

谷歌表格多列字符串拆分为行时文本重复问题求解

修复后可解决重复问题的脚本

function result(range) {
  const output = [];
  // 逐行处理原始数据
  for (let i = 0; i < range.length; i++) {
    const row = range[i];
    // 拆分每个单元格的换行内容,记录当前行最大的拆分行数
    const splitCells = row.map(cell => {
      // 处理空单元格,避免toString报错
      if (cell == null) return [""];
      return cell.toString().split("\n").map(item => item.trim());
    });
    const maxSplitLen = Math.max(...splitCells.map(cell => cell.length));

    // 按最大行数补位,生成拆分后的多行数据
    for (let lineIdx = 0; lineIdx < maxSplitLen; lineIdx++) {
      const newRow = splitCells.map(cell => {
        // 超出当前单元格拆分长度的位置填空字符串,不会重复填充原值
        return cell[lineIdx] ?? "";
      });
      output.push(newRow);
    }
  }
  return output;
}

使用说明

  • 和原有脚本调用方式一致,直接在谷歌表格单元格中输入公式=RESULT(你要处理的数据源范围)即可,比如处理A到E列的1到20行数据,就写=RESULT(A1:E20)
  • 若需要过滤拆分后生成的空行,可以用嵌套公式:=FILTER(RESULT(A1:E20),INDEX(RESULT(A1:E20),0,1)<>"")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:15:01