Google Sheet多列多条件触发邮件脚本技术求助
嘿,我来帮你搞定这个Google Sheet自动发邮件的需求!其实用Google Apps Script就能轻松实现,我给你一步步讲清楚:
实现步骤
1. 打开Google Apps Script编辑器
- 打开你的目标Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑页面(第一次打开可能需要加载几秒)。
2. 编写触发邮件的脚本
把编辑器里默认的myFunction()代码删掉,替换成下面的脚本:
function sendEmailOnSelection(e) { // 获取当前编辑单元格所在的行号 const row = e.range.getRow(); // 获取当前行A列和B列的选中值 const colAValue = e.source.getRange(`A${row}`).getValue(); const colBValue = e.source.getRange(`B${row}`).getValue(); // 判断是否满足触发条件:A列选「2」且B列选「B」 if (colAValue === "2" && colBValue === "B") { // 配置邮件信息,记得替换成你的实际内容 const recipient = "your-recipient@example.com"; // 替换为指定收件人邮箱 const subject = "Sheet选择触发邮件提醒"; const body = `检测到表格第${row}行选择了A=2、B=B,自动发送此提醒邮件。`; // 执行发送邮件操作 MailApp.sendEmail(recipient, subject, body); } }
脚本关键部分说明
e是脚本的事件对象,能帮我们获取到用户编辑单元格的相关信息- 我们通过行号定位到当前编辑行的A、B列,获取选中的下拉选项值
- 当满足
A=2且B=B的条件时,调用MailApp.sendEmail()发送邮件,你只需要把recipient替换成实际的收件人邮箱即可
3. 设置自动触发的触发器
脚本写完后,需要设置一个触发器让它在用户编辑单元格时自动运行:
- 在脚本编辑器左侧,点击时钟形状的「触发器」图标
- 点击右下角的「添加触发器」按钮,按照以下参数配置:
- 选择要运行的函数:
sendEmailOnSelection - 部署类型:选择你的个人账号(显示头像的那个选项)
- 事件源:「从电子表格」
- 事件类型:「编辑时」
- 选择要运行的函数:
- 点击「保存」,这时会弹出授权提示,按照步骤完成授权即可(Google会提示“此应用未验证”,点击「高级」→「转到你的脚本名称(不安全)」继续授权,这是正常的,因为是我们自己编写的脚本)
注意事项
- 确保A列的下拉选项是纯文本的「2」,B列是纯文本的「B」,如果你的下拉选项是数字格式的2,要把代码里的
"2"改成2 - 如果你需要自定义邮件内容(比如加入表格里其他列的数据),可以修改
body部分,比如加入C${row}列的值:const body =第${row}行:A=2,B=B,C列值为${e.source.getRange(C${row}).getValue()}; - 邮件发送频率受Google限制,一般普通账号每天最多发100封邮件,足够日常使用
内容的提问来源于stack exchange,提问作者Mriganka Bhuyan




