Note: The other languages of the website are Google-translated. Back to English

如何在Excel中将日期四舍五入到上一个或下一个特定的工作日?

doc-round-previous-sunday-1
有时,您可能需要根据左侧屏幕截图所示的日期获取上一个或下一个特定工作日,例如星期日。 本教程在这里提供了两个公式,用于在 Excel 中轻松处理此工作。
将日期舍入到下一个特定工作日
将日期舍入到前一个特定工作日

箭头蓝色右气泡 将日期舍入到下一个特定工作日

例如,此处获取 A 列中日期的下周日

1. 选择您要放置下周日日期的单元格,然后粘贴或输入以下公式:

=IF(MOD(A2-1,7)>7,A2+7-MOD(A2-1,7)+7,A2+7-MOD(A2-1,7))

2.然后按 输入 键获取下周日的第一个,显示为 5 位数字,然后向下拖动自动填充以获取所有结果。

doc-round-previous-sunday-1

3.然后保持选中公式单元格,按 Ctrl + 1 键显示 单元格格式 对话框,然后在 标签,选择 日期 并根据需要从右侧列表中选择一种日期类型。 点击 OK.

doc-round-previous-sunday-1

现在公式结果已以日期格式显示。

doc-round-previous-sunday-1

要获得下一个工作日,请使用以下公式:

平日 公式
星期日 =IF(MOD(A2-1,7)>7,A2+7-MOD(A2-1,7)+7,A2+7-MOD(A2-1,7))
周六 =IF(MOD(A2-1,7)>6,A2+6-MOD(A2-1,7)+7,A2+6-MOD(A2-1,7))
星期五 =IF(MOD(A2-1,7)>5,A2+5-MOD(A2-1,7)+7,A2+5-MOD(A2-1,7))
周四 =IF(MOD(A2-1,7)>4,A2+4-MOD(A2-1,7)+7,A2+4-MOD(A2-1,7))
周三 =IF(MOD(A1-1,7)>3,A1+3-MOD(A1-1,7)+7,A1+3-MOD(A1-1,7))
;周二 =IF(MOD(A1-1,7)>2,A1+2-MOD(A1-1,7)+7,A1+2-MOD(A1-1,7))
周一 =IF(MOD(A1-1,7)>1,A1+1-MOD(A1-1,7)+7,A1+1-MOD(A1-1,7))

箭头蓝色右气泡 将日期舍入到上一个特定工作日

例如,此处获取 A 列中日期的上一个星期日

1. 选择您要放置下周日日期的单元格,然后粘贴或输入以下公式:

=A2-工作日(A2,2)

2.然后按 输入 键获取下周日的第一个,然后向下拖动自动填充以获取所有结果。

doc-round-previous-sunday-1

如果要更改日期格式,请保持选中公式单元格,按 Ctrl + 1 键显示 单元格格式 对话框,然后在 标签,选择 日期 并根据需要从右侧列表中选择一种日期类型。 点击 OK.

doc-round-previous-sunday-1

现在公式结果已以日期格式显示。

doc-round-previous-sunday-1

要获取前一个工作日,请使用以下公式:

平日 公式
星期日 =A2-工作日(A2,2)
周六 =IF(WEEKDAY(A2,2)>6,A2-WEEKDAY(A2,1),A2-WEEKDAY(A2,2)-1)
星期五 =IF(WEEKDAY(A2,2)>5,A2-WEEKDAY(A2,2)+5,A2-WEEKDAY(A2,2)-2)
周四 =IF(WEEKDAY(A2,2)>4,A2-WEEKDAY(A2,2)+4,A2-WEEKDAY(A2,2)-3)
周三 =IF(WEEKDAY(A2,2)>3,A2-WEEKDAY(A2,2)+3,A2-WEEKDAY(A2,2)-4)
;周二 =IF(WEEKDAY(A2,2)>2,A2-WEEKDAY(A2,2)+2,A2-WEEKDAY(A2,2)-5)
周一 =IF(WEEKDAY(A2,2)>1,A2-WEEKDAY(A2,2)+1,A2-WEEKDAY(A2,2)-6)

强大的日期和时间助手

新的 日期和时间助手 的特点 Kutools for Excel,支持轻松加/减日期时间,计算两个日期之间的差异,以及根据生日计算年龄。  点击免费试用!
doc-round-previous-sunday-1
 
Kutools for Excel:拥有 200 多个方便的 Excel 插件,免费试用,无限制。


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (16)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
你对上周日的回合是有缺陷的。 甚至在您的工作表上显示同样多。
该评论由网站上的主持人最小化
那么,首先检查单元格是否有日期的正确公式是什么,如果日期在星期六或星期日,则将其留空并将日期设为之前的星期五?
该评论由网站上的主持人最小化
我找到了上周五的解决方法。 您可以根据需要更改开关“结果”以四舍五入到不同的日子。=H3-SWITCH(TEXT(H3, "DDD"), "Mon", 3, "Tue", 4, "Wed", 5, "Thu ", 6, "周五", 0, "周六", 1, "周日", 2)
=[date]-SWITCH(TEXT([date], "DDD"), "Mon", 3, "Tue", 4, "Wed", 5, "Thu", 6, "Fri", 0, "Sat ", 1, "太阳", 2)
该评论由网站上的主持人最小化
嗨,大家好,

我使用了下面的公式,我希望它对你有用。
IF(WEEKDAY(H2,16)<>7,(7-WEEKDAY(H2,16))+H2,H2) 其中 H2 是您想要四舍五入到一周中第二天的日期(在我的情况下星期五)和 16 是开始日期的格式,星期六为 #1,星期五为 #7。
该评论由网站上的主持人最小化
Si quiero la fecha del próximo viernes cómo debo modificar las 变量? 格拉西亚斯
该评论由网站上的主持人最小化
对不起,我听不懂,你能说英语吗?
该评论由网站上的主持人最小化
我把它放到谷歌表中,让日期变成下星期四,但我无法让它工作,特别是在星期四之后的日期。 =IF(L2="","",L2+4-MOD(L2-1,4)) 是我用来使它成为星期四的函数,但并非所有日期都是星期四。
该评论由网站上的主持人最小化
我把它放到谷歌表中,让日期变成下星期四,但我无法让它工作,特别是在星期四之后的日期。 =IF(L2="","",L2+4-MOD(L2-1,4)) 是我用来使它成为星期四的函数,但并非所有日期都是星期四。
该评论由网站上的主持人最小化
澄清一下,所有日期都变成星期四,但是星期五和星期六不会转换为下一个星期四,而是会回到上一个星期四的一两天,而不是回到下个星期的星期四,有没有办法在函数中解决这个问题=IF(L4="","",L4+4-MOD(L4-1,7))
该评论由网站上的主持人最小化
嗨,纪绍,
我使用下面的公式四舍五入到下一个星期四,其中 A1 是具有原始日期的单元格,而 14 是星期四。 如果需要,您可以在其他日子使用其他号码。 11=星期一,12=星期二,13=星期三,等等...
此外,您可以使用 1 而不是 8 来获取 A1 中原始日期之前的星期四。 如果您的原始日期已经是星期四,则公式将生成与 A1 中相同的日期。
我希望这有帮助!
=A1+(0-工作日(A1,14)+8)
该评论由网站上的主持人最小化
嗨,纪绍,

我使用下面的公式四舍五入到下一个星期四,其中 A1 是具有原始日期的单元格,而 14 是星期四。 如果需要,您可以在其他日子使用其他号码。 11=星期一,12=星期二,13=星期三,等等...

此外,您可以使用 1 而不是 8 来获取 A1 中原始日期之前的星期四。 如果您的原始日期已经是星期四,则公式将生成与 A1 中相同的日期。

我希望这有帮助!

= A1 +(0-WEEKDAY(A1,14)+8)
该评论由网站上的主持人最小化
大家好,
我使用下面的公式四舍五入到下一个星期四,其中 A1 是具有原始日期的单元格,而 14 是星期四。 如果需要,您可以在其他日子使用其他号码。 11=星期一,12=星期二,13=星期三,等等...

此外,您可以使用 1 而不是 8 来获取 A1 中原始日期之前的星期四。 如果您的原始日期已经是星期四,则公式将生成与 A1 中相同的日期。

我希望这有帮助!

= A1 +(0-WEEKDAY(A1,14)+8)
该评论由网站上的主持人最小化
谢谢! 这有效:)
该评论由网站上的主持人最小化
我试图弄清楚如何使用日期,而不是天数,但要确保在减去工作日而不是周末的天数时。
有什么公式吗??
该评论由网站上的主持人最小化
我已经对此进行了测试,但部分错误的结果出来了。 为什么 ?
我想下周五去。

=IF(A2="","",A2+5-Mod(A2-1,7))

我已进入 11 年 19 月 2022 日
结果是过去的一天 11/18/2022
该评论由网站上的主持人最小化
谢谢提醒,原来的公式确实不够严谨。 我已经更新了公式并重写了教程,希望新的公式可以帮助你。
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护