You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Sheets中创建关联下拉菜单,避免人员重复分配

实现人员座位唯一分配的自动调整方案

我有3个房间,每个房间配备3个座位,同时有一份可分配至座位的人员名单。目前存在的问题是同一人员可能被分配到多个座位,需要实现:当为另一座位再次选择同一人员时,该人员会自动从原座位中移除,以此保证人员不会被重复分配。

解决方案(基于Google Sheets)

通过Google Apps Script监听座位区域的编辑操作,自动清理重复分配的人员:

  1. 打开目标表格,点击顶部菜单栏「扩展程序」→「Apps Script」
  2. 替换默认代码为以下脚本:
function onEdit(e) {
  // 替换为你的座位所在单元格范围(示例为3行3列的区域)
  const seatRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A2:C4");
  const editedValue = e.value;
  const editedCell = e.range;

  if (!editedValue) return;

  // 遍历所有座位,清空重复的人员记录
  const seatValues = seatRange.getValues();
  for (let row = 0; row < seatValues.length; row++) {
    for (let col = 0; col < seatValues[row].length; col++) {
      const cell = seatRange.getCell(row + 1, col + 1);
      if (cell.getValue() === editedValue && !cell.isEqual(editedCell)) {
        cell.clearContent();
      }
    }
  }
}
  1. 点击保存按钮并命名项目,首次运行按指引完成权限授权
  2. 之后在座位单元格选择人员时,脚本会自动检查并清空该人员的旧分配记录

注意事项

  • 需根据自己表格的实际座位区域,修改代码中getRange("A2:C4")的单元格范围
  • 仅当编辑单元格内容为非空值时,脚本才会执行去重逻辑

内容的提问来源于stack exchange,提问作者oleksiisedun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 09:24:53