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

Excel中计算工作周期最后一天的公式求助

Excel列E公式解决方案

场景1:工作周期为连续工作日(后续紧跟休息日)

如果你的「工作周期」指连续工作日序列(D=False),序列最后一天是下一个休息日的前一天,在E2单元格输入以下公式后下拉填充:

=IF(D2, A2, XLOOKUP(TRUE, D3:$D$1000, A3:$A$1000, INDEX(A:A,COUNTA(A:A)), 1, 1)-1)
  • 公式说明:
    • IF(D2, A2, ...):若D列为True(休息日),直接返回A列日期
    • XLOOKUP(...):从当前行下一行开始,查找第一个标记为休息日的行,返回对应日期
    • INDEX(A:A,COUNTA(A:A)):若当前行之后无休息日(表格最后一行是工作日),返回表格最后一个日期
    • -1:将找到的休息日日期减1,得到当前工作周期的最后一个工作日

场景2:工作周期基于B列的活动代码

如果你的「工作周期」是同一活动代码(B列)对应的所有工作日,最后一天为该代码下最晚的工作日日期,使用以下公式:

=IF(D2, A2, MAXIFS(A:A, B:B, B2, D:D, FALSE))
  • 公式说明:MAXIFS(A:A, B:B, B2, D:D, FALSE) 筛选出B列与当前行相同、且D列为False(工作日)的所有A列日期,取最大值即为该周期最后一天

适配旧版Excel(无XLOOKUP)

若使用旧版Excel,可将场景1的公式替换为:

=IF(D2, A2, LOOKUP(2,1/(D3:$D$1000=TRUE),A3:$A$1000)-1)

通用注意事项

  • 把公式中的$D$1000、$A$1000替换为你表格实际的最后行号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:27:09