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

Excel中返回值重复时如何获取列下一行值?船员排班去重需求

船员排班表去重解决方案

基础去重:获取符合条件的唯一船员列表

直接用UNIQUE函数包裹原有FILTER公式,自动剔除重复出现的船员姓名:

=@IFERROR(UNIQUE(FILTER('data-sheet'!B3:B36;ISNUMBER(SEARCH(T35;'data-sheet'!K3:K36)+SEARCH(O15;'data-sheet'!M3:M36)))); "No match found")

这个公式会返回所有满足团队(T35)和操作技能(O15)要求的船员,且每个姓名仅显示一次。

进阶:跨岗位排除已分配船员

如果要确保同一船员不会被分配到多个不同岗位,需要在筛选时排除已经被其他岗位选中的人员。假设第一个岗位的分配结果在X15单元格,第二个岗位的筛选公式可以调整为:

=@IFERROR(UNIQUE(FILTER(
    'data-sheet'!B3:B36;
    ISNUMBER(SEARCH(T36;'data-sheet'!K3:K36)+SEARCH(O16;'data-sheet'!M3:M36)) * 
    NOT(ISNUMBER(MATCH('data-sheet'!B3:B36; $X$15; 0)))
)); "No match found")

关键逻辑说明:

  • NOT(ISNUMBER(MATCH('data-sheet'!B3:B36; $X$15; 0))):检查当前船员是否已经出现在已分配的单元格中,若已存在则排除
  • 若已分配的船员分布在多个单元格(如X15:X20),直接将$X$15替换为该范围即可

注意事项

  • 确认data-sheet中的船员姓名无拼写不一致问题(如大小写、多余空格),否则UNIQUE和MATCH会将其识别为不同条目
  • 若需要动态适配新增的分配岗位,可以使用命名范围或INDIRECT函数来引用已分配区域

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:26:13