夜雨聆风学习资料网

ARTICLE · 1142184

还在手动删周末日期?WPS这2个公式,让工作日自动跳过周六周日!

还在手动删周末日期?WPS这2个公式,让工作日自动跳过周六周日!

在 WPS 个人免费版中,两种方法的核心实现路径为:方法一分步判定法用 WEEKDAY 判断星期数,配合 IF 让周五加 3 天、其余加 1 天,逐行向下填充;方法二批量过滤法用 SEQUENCE 生成连续日期,再嵌套 WEEKDAY(…,2)<6 由 FILTER 一次性筛出所有工作日。两种方法均不依赖会员功能,WPS 表格均可直接支持。

一、函数速查表

方法 核心函数 公式模板 适用场景

分步判定法 WEEKDAY + IF =IF(WEEKDAY(A2,2)=5, A2+3, A2+1) 在已有日期列的基础上"逐行跳过周末"

批量过滤法 SEQUENCE + WEEKDAY + FILTER =FILTER(SEQUENCE(N,1,起始日期,1), WEEKDAY(SEQUENCE(N,1,起始日期,1),2)<6) 一次性生成一段区间内所有工作日

WEEKDAY 第二参数说明:2 表示星期一返回 1、星期日返回 7,因此周六=6、周日=7,"工作日"即结果 ≤ 5。

二、准备阶段:搭建示例表格

【镜头 1】新建工作簿

• 双击桌面 WPS Office 图标 → 点击左侧"表格" → 选择"新建空白工作簿"。

【镜头 2】设置表头

• 在 A1 单元格单击 → 输入:起始日期

• 在 B1 单元格单击 → 输入:下一个工作日

• 在 D1 单元格单击 → 输入:批量工作日(备用)

【镜头 3】填入起始日期

• 单击 A2 → 输入:2024/6/3(星期一)

• 按回车。选中 A2,右键 → "设置单元格格式" → "日期" → 选择 yyyy/m/d 类型 → 确定。若输入后单元格靠左对齐或带单引号,说明是文本,需重新以日期格式输入,否则后续 WEEKDAY 会报 #VALUE!。

此时表格预览:

三、方法一:分步判定法(逐行跳周末)

【镜头 4】输入核心公式

• 单击 B2 单元格 → 输入下方公式:

=IF(WEEKDAY(A2,2)=5, A2+3, A2+1)

• 按回车。单元格显示:2024/6/4(星期二,正常加 1 天)。

【镜头 5】设置日期格式

• 若 B2 显示为 45448 之类的数字 → 选中 B2 → 右键"设置单元格格式"→"日期"→ 选择与 A 列一致的样式 → 确定。

【镜头 6】向下拖动填充

• 鼠标移到 B2 右下角,光标变成黑色"+"(填充柄)→ 按住左键向下拖到 B11 → 释放。

• WPS 会自动把公式中的 A2 依次替换为 A3、A4…,实现链式计算。

【镜头 7】核对跨周末效果

• 逐格核对:B6 = 2024/6/7(星期五),此时 WEEKDAY(A6,2)=5 成立,公式走"加 3 天"分支,B7 应为 2024/6/10(星期一),周六周日被自动跳过。

若周末规则不是"周六+周日",可将 IF 条件换成 WORKDAY.INTL 的字符串参数,例如仅休周日时用 =WORKDAY.INTL(A2,1,11),参数 11 表示"仅星期日为周末"。

四、方法二:批量过滤法(一次性生成工作日序列)

【镜头 8】输入数组公式

• 单击 D2 单元格 → 复制粘贴下方公式:

=FILTER(SEQUENCE(15,1,DATE(2024,6,3),1), WEEKDAY(SEQUENCE(15,1,DATE(2024,6,3),1),2)<6)

• 按回车。WPS 会自动"溢出"填充,从 D2 起向下生成一列 2024/6/3 至 2024/6/17 之间的工作日(共 11 个),周六周日不出现。

【镜头 9】调整格式

• 若显示为数字 → 选中 D 列溢出区域 → 右键"设置单元格格式"→"日期"→ yyyy/m/d → 确定。

【镜头 10】修改日期范围

• 想改起始日:把公式中两处 DATE(2024,6,3) 改成目标日期,例如 DATE(2025,1,1)。

• 想改长度:把两处 SEQUENCE(15,…) 中的 15 改为需要覆盖的总天数(建议略大于实际需要,由 FILTER 自动剔除周末)。

若你使用的 WPS 版本较旧不支持 FILTER,可改用兼容写法:在 D2 输入 =WORKDAY(DATE(2024,6,3)-1,ROW()-1) 后向下填充,同样可逐行产出工作日序列。

五、常见问题与扩展定制

• 结果变成数字 45448:单元格是"常规"格式,重新设置成日期即可。

• 公式报 #VALUE!:A 列是文本日期,先用 =DATEVALUE(A2) 转换,或重新以日期格式输入。

• 双休改成单休(只休周日):方法一公式改为 =IF(WEEKDAY(A2,2)=7, A2+1, A2+1) 会失效,建议直接换成 =WORKDAY.INTL(A2,1,11);批量法把 WEEKDAY(…,2)<6 改为 WEEKDAY(…,2)<7。

• 跳过法定节假日:先把节假日日期填到 F 列(如 F2:F10),再套用 =WORKDAY.INTL(起始日, 天数, 1, F2:F10),第四参数即节假日区域。

• 跨月/跨年:方法二基于序列号计算,跨月跨年自动衔接;方法一因逐行累加同样天然支持,无需额外处理。

按以上镜头逐步操作,即可在 WPS 个人免费版中复现视频的两种"自动跳过周末"的填充效果,所有公式均可直接复制使用。

相关学习资料