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

Excel按指定日期匹配员工名单并输出匹配姓名

解决方案

Excel 365/2021 版本(推荐)

直接用动态数组函数组合实现需求。假设你要在AllNames表某日期行(比如第2行对应1月1日)的旁侧单元格(如Z2)输入公式:

=TEXTJOIN(", ", TRUE, FILTER(Employees!A:A, ISNUMBER(MATCH(Employees!A:A, AllNames!2:2, 0)), "-"))

公式说明:

  • MATCH(Employees!A:A, AllNames!2:2, 0):检测Employees表的每个姓名是否在当前日期行存在,存在返回位置值,不存在返回错误值
  • ISNUMBER(...):将MATCH结果转为布尔值,匹配为TRUE,不匹配为FALSE
  • FILTER(Employees!A:A, ..., "-"):筛选出匹配的姓名,无匹配时返回-
  • TEXTJOIN(", ", TRUE, ...):用「逗号+空格」连接筛选出的姓名,TRUE参数忽略空值

输入后直接回车,下拉公式即可自动应用到所有日期行。

旧版Excel(不支持动态数组)

需使用数组公式,假设Employees表姓名范围为A2:A100(可根据实际人数调整),在AllNames表目标单元格输入:

=IFERROR(LEFT(CONCAT(IF(ISNUMBER(MATCH(Employees!$A$2:$A$100, AllNames!2:2, 0)), Employees!$A$2:$A$100&", ", "")), LEN(CONCAT(IF(ISNUMBER(MATCH(Employees!$A$2:$A$100, AllNames!2:2, 0)), Employees!$A$2:$A$100&", ", "")))-2), "-")

输入完成后必须按Ctrl+Shift+Enter作为数组公式确认(新版Excel可直接回车,旧版需按组合键)。
公式说明:

  • 内层IF:给匹配的姓名添加「逗号+空格」后缀,不匹配则返回空文本
  • CONCAT:拼接所有匹配的带后缀文本
  • LEFT+LEN:去掉拼接字符串末尾多余的「逗号+空格」
  • IFERROR:无匹配时返回-

注意事项

  • 动态范围优化:把Employees表转成Excel表格(选数据区域→按Ctrl+T),公式会自动识别新增/删除的员工,不用手动调整范围
  • 日期行对应:公式里的AllNames!2:2要对应目标日期所在行,下拉时会自动适配每行的日期数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:10:01