求Google Sheets脚本:将状态为Hired的候选人行移至HIRED工作表
Google Sheets 自动转移已录用候选人数据脚本实现
实现步骤
- 打开你的Google表格,点击顶部菜单栏的「扩展程序」→「Apps 脚本」,进入脚本编辑器。
- 替换编辑器里的默认代码为下方脚本。
- 保存脚本,命名为「HiredCandidateTransfer」即可。
- 设置触发器:点击左侧时钟图标(触发器)→「添加触发器」,配置如下:
- 要运行的函数:
onEdit - 部署类型:「从电子表格」
- 事件源:「编辑时」
- 点击保存,按提示完成脚本权限授权(首次运行需授权)。
- 要运行的函数:
脚本代码
function onEdit(e) { const range = e.range; const sheet = range.getSheet(); const statusColumn = 4; // 状态列对应D列,若你的状态列位置不同,修改此序号(A列=1,B列=2...) const targetSheetName = "HIRED"; const sourceSheetName = "LIST"; // 仅处理LIST工作表中状态列改为"Hired"的操作 if (sheet.getName() === sourceSheetName && range.getColumn() === statusColumn && e.value === "Hired") { const row = range.getRow(); const targetSheet = e.source.getSheetByName(targetSheetName); // 获取当前行的全部数据与格式 const sourceRange = sheet.getRange(row, 1, 1, sheet.getLastColumn()); const targetRow = targetSheet.getLastRow() + 1; // 复制数据+格式到HIRED工作表 sourceRange.copyTo(targetSheet.getRange(targetRow, 1), SpreadsheetApp.CopyPasteType.PASTE_ALL, false); // 从LIST工作表移除该行 sheet.deleteRow(row); } }
注意事项
- 若你的候选人状态列不是D列,务必修改代码中
statusColumn的数值,匹配实际列的序号。 - 脚本触发逻辑:当在LIST工作表的状态列输入"Hired"后,整行的数据和格式会自动复制到HIRED工作表的末尾行,同时原LIST中的该行被删除。
内容的提问来源于stack exchange,提问作者user19209813
相关产品推荐
相关产品推荐

