Google Script如何将指定单元格值写入特定列首个空单元格并填充20行
Google Sheets 单元格批量填充脚本实现方案
以下是可直接使用的完整脚本,以及对应操作步骤:
完整脚本代码
function fillToSheet2() { // 获取当前表格文件对象 const ss = SpreadsheetApp.getActiveSpreadsheet(); // 读取Sheet1的C21单元格内容 const sheet1 = ss.getSheetByName("Sheet1"); const targetValue = sheet1.getRange("C21").getValue(); // 定位Sheet2的B列 const sheet2 = ss.getSheetByName("Sheet2"); const columnB = sheet2.getRange("B:B"); // 查找B列最后一个有内容的行,加1得到第一个空行的行号 const lastFilledRow = columnB.getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); const firstEmptyRow = lastFilledRow + 1; // 约束起始行不小于5,符合B5及以下填充的要求 const startFillRow = Math.max(firstEmptyRow, 5); // 从第一个符合要求的空行开始,向下填充20行 sheet2.getRange(startFillRow, 2, 20, 1).setValue(targetValue); }
绑定按钮操作步骤
- 打开你的Google表格,点击顶部菜单栏「扩展程序」->「Apps 脚本」,进入脚本编辑器
- 删除编辑器默认的空白代码,粘贴上面的完整代码,点击顶部保存按钮,自定义项目名完成保存
- 返回Sheet1页面,点击顶部菜单栏「插入」->「绘图」,绘制你需要的按钮样式后保存,将生成的绘图拖动到Sheet1合适的位置
- 点击刚插入的绘图按钮,点右上角的三个点图标,选择「分配脚本」,输入
fillToSheet2后确认 - 首次点击按钮运行时会触发权限校验,按照页面提示完成授权即可正常使用
常见调整说明
- 如果你的工作表不是默认的Sheet1、Sheet2名称,修改代码里
getSheetByName括号内的名称为你实际的工作表名即可 - 如果需要调整填充的行数,修改代码里的
20为你需要的数值即可 - 脚本不会覆盖B5以上的已有内容,只会从B5及以下的第一个空单元格开始填充
内容的提问来源于stack exchange,提问作者Johannes Waern
相关产品推荐
相关产品推荐

