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

Google Sheets场景下如何按顺序将患者列表轮询分配给医生列表

Google Sheets轮询分配患者给医生的实现方法

首先先确认你的表格结构预设:

  • 医生列表单独放在一个固定区域(比如「医生表」的A列,A1为表头「医生姓名」,A2开始依次录入医生姓名,后续新增医生直接在该列下方追加即可)
  • 患者列表放在「患者表」的A列,A1为表头「患者姓名/信息」,A2开始按你要求的分配顺序从上到下排列,分配结果要填在B列

自动溢出方案(无需下拉,新增患者/医生自动更新)

在患者表的B2单元格直接输入以下公式即可,所有患者的分配结果会自动填充:

=BYROW(SEQUENCE(COUNTA(A2:A)), LAMBDA(seq, INDEX(TOCOL(医生表!A2:A,1), MOD(seq-1, COUNTA(TOCOL(医生表!A2:A,1)))+1)))

逻辑说明

  • TOCOL(医生表!A2:A,1) 会自动过滤掉医生列表里的空单元格,动态统计当前有效的医生总数,后续新增/删除医生都不需要修改公式
  • MOD(seq-1, 医生总数)+1 是轮询分配的核心逻辑:按患者从上到下的顺序,依次匹配第1、2、3、4位医生,轮到第5位患者时自动绕回第1位医生,以此往复
  • BYROW 会自动遍历所有有效患者,匹配对应医生,结果自动向下溢出,后续新增患者也会自动完成分配

手动下拉方案

如果不需要自动溢出,想手动控制分配范围,在B2单元格输入以下公式,按住单元格右下角向下拉到对应行即可:

=INDEX(TOCOL(医生表!A2:A,1), MOD(ROW(A2)-2, COUNTA(TOCOL(医生表!A2:A,1)))+1)

注意事项

  • 如果医生和患者在同一个工作表,把公式里的医生表!去掉,直接写对应列的范围即可,比如医生放在当前表的D2:D,就把医生表!A2:A替换为D2:D
  • 如果需要调整轮询的起始匹配医生,比如第一位患者要分配给第3位医生,把公式里MOD()后面的+1改成+3即可
  • 如果你的Google Sheets版本不支持LAMBDA函数,使用手动下拉方案即可正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:36:04