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

Excel中按人员生成多组日期区间内工作日期列表的实现问题

为不同人员生成独立的垂直工作日期列表

方法一:Excel 365/2021 动态数组公式

假设你的数据是A列存姓名、B列存开始日期、C列存结束日期,要提取某个人(比如张三)的所有工作日期,直接在空白单元格输入以下公式即可自动生成垂直列表:

=LET(
    目标姓名, "张三",
    数据源, A:C,
    筛选结果, FILTER(数据源, INDEX(数据源,,1)=目标姓名),
    合并日期, REDUCE("", SEQUENCE(ROWS(筛选结果)), LAMBDA(累计, 当前行, VSTACK(累计, SEQUENCE(INDEX(筛选结果,当前行,3)-INDEX(筛选结果,当前行,2)+1, 1, INDEX(筛选结果,当前行,2))))),
    合并日期
)
  • 把公式里的"张三"替换成另外两位人员的姓名,就能生成对应的日期列表
  • 公式会自动把该人员所有日期范围的每一天都展开并垂直拼接

方法二:Power Query(兼容多数Excel版本)

如果你的Excel版本不支持动态数组,用Power Query更稳妥:

  1. 选中所有数据区域,点击「数据」选项卡 → 「从表格/区域」(勾选「我的表格有标题」)
  2. 在Power Query编辑器里,添加自定义列,输入公式:
    =List.Dates([开始日期], Duration.Days([结束日期]-[开始日期])+1, #duration(1,0,0,0))
    
  3. 点击自定义列右侧的展开箭头,选择「展开到新行」,把每个日期范围拆成单独的日期
  4. 用「筛选器」选出目标人员的行,然后删除不需要的列,只保留日期列
  5. 点击「关闭并上载」,把结果导入Excel;重复这个流程(或复制查询修改筛选条件),就能得到另外两位人员的日期列表

注意事项

  • 确保B、C列的日期是Excel可识别的日期格式,不是文本格式,否则公式会出错
  • Power Query生成的列表是静态的,原数据更新后需要右键点击表格选择「刷新」

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:18:25