如何在Google表格的IF函数中@提及用户并触发通知?
在Google表格中通过下拉选项触发@人员通知的解决方案
Google表格的公式只能输出纯文本,无法直接生成触发通知的@提及(因为@提及是富文本交互格式),需要借助Apps Script来实现这个功能,具体步骤如下:
步骤1:打开脚本编辑器
点击表格顶部菜单栏的「扩展程序」>「Apps Script」,打开脚本编辑界面。
步骤2:替换脚本代码
删除默认的myFunction代码,粘贴以下自定义脚本:
function onEdit(e) { const range = e.range; const sheet = range.getSheet(); // 限定仅处理指定工作表的A1单元格编辑事件 if (sheet.getName() === "Sheet1" && range.getA1Notation() === "A1") { const targetCell = sheet.getRange("B1"); const selectedValue = range.getValue(); // 当A1选中"complete"时,生成@提及 if (selectedValue === "complete") { const targetEmail = "roni_25@work.com"; // 创建带@提及的富文本内容 const richText = SpreadsheetApp.newRichTextValue() .setText(`@${targetEmail}`) .setMention(SpreadsheetApp.MentionType.USER_EMAIL, targetEmail) .build(); targetCell.setRichTextValue(richText); } else { // 其他选项时清空B1 targetCell.clearContent(); } } }
步骤3:修改脚本配置
- 将
"Sheet1"替换为你的工作表实际名称(比如"任务列表") - 如果需要适配其他下拉选项或目标邮箱,修改
selectedValue === "complete"和targetEmail的值即可
步骤4:授权并测试
- 点击脚本编辑器顶部的「保存」按钮,给脚本命名(比如"TaskAssignNotifier")
- 第一次运行会弹出权限请求,按照提示完成授权(需要允许脚本访问你的表格数据)
- 返回表格,在A1下拉选择"complete",B1会自动生成带@标记的邮箱,目标用户会收到Google表格的通知提醒
注意事项
- 目标邮箱必须关联有效的Google账号,才能收到@提及通知
- 脚本通过
onEdit触发器自动触发,无需手动运行 - 如果需要扩展到多个单元格或更多下拉选项,可修改脚本中的单元格范围和条件判断逻辑
内容的提问来源于stack exchange,提问作者RoniC
相关产品推荐
相关产品推荐

