问题:「同样的订单」进来两次?
B2B 业务中,采购商通过谷歌表单提交订单。但有时因为网络延迟,或者采购商不小心按了两次「提交」按钮,导致完全相同的订单会进来 2~3 次。
团队手动逐个比较并删除,每天就要浪费 30 分钟。
「能不能自动抓住这些重复的?」
解决方案:Claude Code + Google Apps Script
第 1 步:连接谷歌表单与试算表
如果已在运营谷歌表单,回应会自动保存到谷歌试算表。(点击「回应」选项卡的「连接试算表」)
第 2 步:打开谷歌试算表扩展程序
工具 → 脚本编辑器 → 创建新项目
在这里我们利用 Claude Code。
第 3 步:请 Claude Code 编写脚本
这样问 Claude:
「谷歌试算表中,比较以下两列数据:采购商电邮、产品代码、数量。找出这三列完全相同的行。把找到的重复项目移到新试算表。用 AppsScript 写出来好吗?」
Claude 提供的代码示例:
function findDuplicateOrders() {
const sheet = SpreadsheetApp.getActiveSheet();
const data = sheet.getDataRange().getValues();
const duplicates = [];
for (let i = 1; i < data.length; i++) {
for (let j = i + 1; j < data.length; j++) {
if (data[i][1] === data[j][1] && data[i][2] === data[j][2] && data[i][3] === data[j][3]) {
duplicates.push(data[j]);
}
}
}
const dupSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('重复项目');
dupSheet.getRange(1, 1, duplicates.length, duplicates[0].length).setValues(duplicates);
}
第 4 步:执行与自动化
脚本编辑器 → 执行按钮 → 接受授权弹出窗口
然后设置每日自动执行的触发器:
左侧菜单「触发器」→ 「新增触发器」
→ 选择 findDuplicateOrders 函数
→ 选择时间基础(每天下午 7 时)
结果:隔天早上起来,「重复清单」已准备好
隔天早上团队打开屏幕时,昨天进来的重复订单已经排列在「重复项目」试算表中了。
现在需要做的:
• 查看重复清单 (2 分钟)
• 保留原始订单,删除副本 (3 分钟)
总共 5 分钟就完成。
🎯 非开发人员学到的事
1. **Claude Code 懂「条件」就能生成代码**:它只是把「采购商电邮和产品代码相同时」这句话转换成程序代码。
2. **触发器设置是自动化的核心**:相比代码本身,「何时执行」更重要。
3. **小的自动化累积成大时间节省**:每天 30 分钟 × 20 天 × 12 个月 = 120 小时节省。
下一步:更聪明的做法
采购商可能会抗议「这不是重复,这是计划中的两批订单」。所以标记为重复,但让团队负责最终审核会更好。
自动标记,但最后核准权仍在团队手中。