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

Excel按月初日期筛选数据及修改公式获取每月首个工作日咨询

问题1:筛选Excel中每月第一天的数据

这里有两种简单易行的方法,你可以根据自己的Excel版本和习惯选择:

  • 方法1:用自带筛选功能快速搞定

    1. 选中A列的表头单元格(即标注日期的单元格)
    2. 点击顶部菜单栏的「数据」→「筛选」,此时表头会出现一个筛选箭头
    3. 点击箭头,选择「日期筛选」,在子菜单里找「第一天」(不同版本可能放在「期间」分类下);如果没找到,就选「自定义筛选」,在对话框里选「等于」,输入「每月1日」即可。
  • 方法2:辅助列标记后筛选
    如果你的Excel版本没有直接的日期筛选选项,就添加一个辅助列(比如B列):
    在B2单元格输入公式:

    =DAY(A2)=1
    

    下拉填充到所有行,公式会返回TRUE(是当月第一天)或FALSE(不是)。之后给B列添加筛选,只勾选TRUE,就能筛选出所有每月第一天的数据。

问题2:修改公式判断每月第一个工作日

先拆解下你提供的原公式逻辑——它判断当月最后一个工作日的思路是:

AND(WEEKDAY(A2,2)<6, MONTH(WORKDAY(A2,1))<>MONTH(A2))

  1. WEEKDAY(A2,2)<6:确保A2是周一到周五的工作日(参数2让周一=1,周五=5)
  2. MONTH(WORKDAY(A2,1))<>MONTH(A2):A2的下一个工作日已经属于下个月,说明A2是当月最后一个工作日

要判断当月第一个工作日,咱们可以顺着这个逻辑反向推导,或者换个更直观的写法,给你两种方案:

方案1:基于原公式的反向逻辑

把原公式里的「下一个工作日」改成「前一个工作日」,判断A2的前一个工作日属于上个月,同时A2本身是工作日:

=AND(WEEKDAY(A2,2)<6, MONTH(WORKDAY(A2,-1))<>MONTH(A2))

这个公式的逻辑是:A2是工作日,且它的前一个工作日已经是上个月的日期,那A2必然是当月的第一个工作日。

方案2:直接匹配当月第一个工作日

另一种更直白的写法,先计算出当月的第一个工作日,再判断A2是否等于这个日期:

=A2=WORKDAY(EOMONTH(A2,-1),1)

解释下每个部分:

  • EOMONTH(A2,-1):计算A2所在月份的上一个月最后一天
  • WORKDAY(...,1):以上月最后一天为起点,往后推1个工作日(自动跳过周末),得到当月的第一个工作日
  • 整个公式判断A2是否等于这个计算出的日期,是则返回TRUE,否则返回FALSE

如果需要考虑法定节假日,只需在WORKDAY函数里添加第三个参数即可,比如WORKDAY(EOMONTH(A2,-1),1,$C$2:$C$10),其中C2:C10是你存储节假日日期的单元格区域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:24:55