Google Sheets库存追踪:扫码跳转对应行或末尾添加新品需求
Google Sheets 条码扫描库存跳转解决方案
VLOOKUP仅能返回数据,无法实现行跳转这类交互操作,要实现你的需求,得用Google Apps Script监听扫描事件并执行跳转逻辑,具体方案如下:
实现步骤
- 打开库存表格,点击菜单栏「扩展程序」>「Apps Script」进入脚本编辑器
- 清空默认代码,粘贴以下脚本:
function onEdit(e) { // 定义触发扫描的单元格(可自行修改,比如改为C2) const TRIGGER_CELL = "B1"; const editedRange = e.range; // 仅响应指定单元格的编辑事件 if (editedRange.getA1Notation() !== TRIGGER_CELL) return; const scannedBarcode = editedRange.getValue().toString().trim(); if (!scannedBarcode) return; const sheet = editedRange.getSheet(); // 获取A列所有条码数据 const barcodeList = sheet.getRange("A:A").getValues().flat(); // 查找条码对应的行号(转换为1-based索引) const targetRow = barcodeList.indexOf(scannedBarcode) + 1; if (targetRow > 0) { // 条码存在:跳转到对应行的库存操作列(这里选C列,可自行修改列号) sheet.getRange(targetRow, 3).activate(); } else { // 条码不存在:跳转到表格末尾的A列,准备新增商品 const lastRow = sheet.getLastRow() + 1; sheet.getRange(lastRow, 1).activate(); } // 清空触发单元格,方便下一次扫描 editedRange.clearContent(); }
- 点击脚本编辑器的「保存」按钮,命名项目(比如“InventoryBarcodeScanner”)
- 设置触发器:
- 点击左侧「触发器」图标(闹钟样式)
- 点击「添加触发器」,按以下配置:
- 选择函数:
onEdit - 部署类型:「Head deployments」
- 事件源:「从电子表格」
- 事件类型:「编辑」
- 选择函数:
- 点击「保存」,按提示完成授权(首次运行需授权访问表格数据)
使用说明
- 回到库存表格,选中你定义的触发单元格(比如B1)
- 用条码扫描枪扫描商品条码:
- 若A列存在该条码,自动跳转至对应行的库存操作列(默认C列),直接修改库存数量即可
- 若条码不存在,自动跳转至表格最后一行的A列,输入新品信息即可
- 扫描枪需设置为扫描后自动回车(多数扫描枪默认如此,确保输入后触发编辑事件)
注意事项
- 确保A列的条码以文本格式存储,避免扫描的数字条码因格式不匹配无法被识别
- 若库存数据在特定工作表,可在脚本中添加
if (sheet.getName() !== "库存表") return;来限制仅响应指定工作表 - 若需要调整跳转的目标列,修改
sheet.getRange(targetRow, 3)中的数字“3”即可(3对应C列,4对应D列,以此类推)
内容的提问来源于stack exchange,提问作者C.J. Werlinger
相关产品推荐
相关产品推荐

