Google Sheets遍历指定区域提取数值复制脚本编写及触发方式咨询
Google Sheets脚本适配及触发方案
适配的Apps Script代码
使用步骤:打开目标表格,点击顶部菜单栏「扩展程序」>「Apps Script」,删除编辑器中默认的全部代码,粘贴以下代码,点击保存按钮,给项目命名即可。
function copyInvoiceNumbers() { // 获取目标工作表 const ss = SpreadsheetApp.getActiveSpreadsheet(); const targetSheet = ss.getSheetByName("Duplicate Registrations"); // 读取I7:I152区域的所有值 const invoiceRange = targetSheet.getRange("I7:I152"); const invoiceValues = invoiceRange.getValues(); // 遍历处理每一行 for (let i = 0; i < invoiceValues.length; i++) { const currentVal = invoiceValues[i][0]; // 判断为13位数字时写入同行B列,跳过空和连字符 if (typeof currentVal === "number" && currentVal.toString().length === 13) { targetSheet.getRange(7 + i, 2).setValue(currentVal); } } }
首次运行脚本时会弹出授权提示,按照页面指引完成授权即可正常使用。
脚本触发方式说明
- 按钮触发(推荐,更直观):
回到Google Sheets界面,点击顶部菜单栏「插入」>「绘图」,绘制自定义按钮样式(可添加文字如「同步发票号」),保存后拖动到表格合适位置。点击绘图右上角的三个点图标,选择「指定脚本」,输入函数名copyInvoiceNumbers后确认,后续点击按钮即可直接运行脚本。 - 快捷键触发:
支持自定义快捷键触发。保存代码后回到表格,点击「扩展程序」>「宏」>「导入」,找到copyInvoiceNumbers函数完成添加。之后在「扩展程序」>「宏」>「管理宏」中,即可给该函数设置快捷键,格式为Ctrl+Alt+Shift+数字,最多支持设置10个宏快捷键。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

