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

Google Sheets宏能否为同工作表内不同长度列表批量添加数字?

批量为多组列表生成左侧数字序列的Google Sheets宏方案

以下是可以一次性完成3个列表数字填充的Google Apps Script宏,直接适配你的需求:

宏代码实现

打开你的Google Sheets,依次点击「工具」>「脚本编辑器」,替换默认代码为以下内容:

function fillNumberSequences() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // 配置三个列表的参数:[左侧填充列起始行, 列表数据起始行, 列表数据列号]
  // 列号规则:A=1,B=2,C=3,以此类推
  const lists = [
    [2, 2, 2],   // 第一个列表:A2开始填充,数据从B2起
    [9, 9, 2],   // 第二个列表:A9开始填充,数据从B9起
    [14, 14, 2]  // 第三个列表:A14开始填充,数据从B14起
  ];
  
  lists.forEach(list => {
    const fillStartRow = list[0];
    const dataStartRow = list[1];
    const dataCol = list[2];
    
    // 获取当前列表的最后一行(自动识别到空行前的最后一个有效数据)
    const lastRow = sheet.getRange(dataCol, dataStartRow).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow();
    const listLength = lastRow - dataStartRow + 1;
    
    // 生成1到列表长度的数字序列
    const numberSequence = Array.from({length: listLength}, (_, i) => [i + 1]);
    
    // 将序列写入左侧对应列
    sheet.getRange(fillStartRow, 1, listLength, 1).setValues(numberSequence);
  });
}

使用步骤

  1. 根据你表格的实际布局,调整lists数组中的参数:
    • 每个子数组的第一个值是左侧要填充数字的起始行号;
    • 第二个值是对应列表的第一个数据行号;
    • 第三个值是列表数据所在的列号(比如数据在C列就填3);
  2. 点击脚本编辑器顶部的「保存」,给宏命名(比如fillNumberSequences);
  3. 返回工作表,点击「扩展程序」>「宏」>「fillNumberSequences」,执行后即可一次性完成所有列表的数字填充。

扩展说明

  • 如果后续需要新增列表,只需在lists数组中添加新的子数组配置即可;
  • 脚本会自动识别每个列表的长度(直到遇到空行为止),无需手动计算列表项数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:55:12