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

Excel排班表:如何在溢出数组中合并扩展单元格区域文本?

自动排班表邮件分配规则实现问题

需求概述

制作每日员工排班表,自动分配员工处理客户电话(标记为C)或邮件(标记为E),无需管理人员手动调整。排班表分为4个核心部分:

  • A区:员工基础数据,包含姓名、上下班时间、休息时段、技能标签等
  • B区:辅助计算表格,根据预设规则,为每位员工的每小时时段输出对应得分
  • C区:排班结果表格,得分最低的员工分配E,其余员工分配C;若多名员工得分相同,按姓名首字母顺序确定E的分配对象
  • D区:规则分值对照表,记录B区每条规则对应的加减分标准

当前待解决问题

需实现每位员工每日最多处理3小时邮件的规则:
思路是在B区生成溢出数组时,为每个员工的当前时段合并其之前所有时段的排班文本,统计其中E的数量;若数量达到3,则为该员工当前时段的得分加10,确保后续C区不会再为其分配E。

但实际运行时,溢出数组公式会合并整个排班区域的文本(从左到右、从上到下),而非单条员工的历史时段文本。例如使用公式:

=INDEX(SCAN("",RotaRange,(LAMBDA(a,v,a&v))),1,)

单独逐行拖动时可正常实现单员工历史文本合并,但嵌入溢出数组公式后,会合并所有员工的所有时段内容。

约束要求

  1. 开发环境为Mac OS(Excel 365中@符号无法正常使用),最终成品在Windows Excel 365运行
  2. 必须保留溢出数组实现,禁止手动拖动公式填充
  3. 禁止使用VBA/宏(IT部门规定)
  4. 禁止使用易失性函数
  5. 不使用COUNTIF(),偏好通过合并单文本的方式统一处理多规则场景

已尝试的函数组合

INDEX、TAKE、CHOOSEROWS、ROW、ROWS、HSTACK、MAKEARRAY、MATCH、XLOOKUP、FIND、TEXTJOIN、CONCAT、SCAN等,单独使用可逐行实现需求,但嵌入溢出数组公式后无法得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:17:47