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

Google Apps Script按单元格值在A列最后数据行下方插入行问题

Google Sheets插入行脚本修正方案

原代码问题原因

原代码的循环逻辑是遍历从第2行到工作表最后编辑行的所有行,在每一行后面都插入1行,因此会出现批量在第2行后连续插入行的问题,不符合需求要求。

修正后可直接使用的代码

function insertRowsAfterLastDataInA() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 目标操作工作表:test sheet
  const targetSheet = ss.getSheetByName('test sheet');
  // 存储插入行数的配置工作表,若你有自定义的表名,可将下方getSheets()[0]替换为getSheetByName('你的配置表名称')
  const configSheet = ss.getSheets()[0];
  // 读取B2单元格的插入行数
  const insertCount = configSheet.getRange('B2').getValue();

  // 校验插入行数合法性
  if (!Number.isInteger(insertCount) || insertCount <= 0) {
    SpreadsheetApp.getUi().alert('请在配置表B2单元格输入正整数作为插入行数');
    return;
  }

  // 查找A列最后一个带数据的行号
  const colAValues = targetSheet.getRange('A:A').getValues();
  let lastDataRowInA = 0;
  for (let i = colAValues.length - 1; i >= 0; i--) {
    if (colAValues[i][0] !== '') {
      lastDataRowInA = i + 1; // 数组下标从0开始,工作表行号从1开始,因此做+1处理
      break;
    }
  }

  // 兼容A列全空的边界场景
  lastDataRowInA = lastDataRowInA === 0 ? 1 : lastDataRowInA;

  // 批量插入指定数量的空白行
  targetSheet.insertRowsAfter(lastDataRowInA, insertCount);
}

功能说明

  • 自动识别test sheet工作表A列最后一个带数据的行,在该行下方插入空白行
  • 插入行的数量从配置工作表的B2单元格读取,支持灵活调整
  • 自带输入校验,避免非法数值导致的脚本运行错误
  • 批量插入逻辑相比循环单条插入性能更高,适合大数量行插入场景

内容的提问来源于stack exchange,提问作者Mr.YJY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:54:03