Excel时间计算教程:如何自动计算结束日期

天天见闻 天天见闻 2023-10-15 科技 阅读: 69
摘要: 编辑:在EXCEL的日常工作中,如果需求带有“自动”字样,往往会使用VBA,所以今天如果不能做VBA该怎么处理呢?例如如下所示,根据开始时间、周期,计算结束日和还有几天结束! 最近看到并展示了有趣的需求。 需求如下: 在1、A列和B列中填写内容后,C列将自动计算,而“日”是A列“日”的前一天。例如,如果A2=2021-08-06,B2=10,则C2=2022-06-05; 2,根据C列的内容,自动计算从今天开始还有几天到结束日期,今天也是一天。例如,如果C2=2022-06-05,则D2=52;

编按:在EXCEL日常工作中,如果需求中带有“自动”字样,往往都会用到VBA,今天就来给大家讲一讲,如果不会VBA那该如何处理呢?比如下面这个通过起始时间、周期,来计算结束日期,以及还有多少天结束的情况!

最近看到一份有意思的需求,拿出来给大家分享一下。

需求如下:

1、在A列、B列填入内容后,C列自动计算,但是“日”要是A列“日”的前一天。例如:A2=2021-08-06,B2=10,那么C2=2022-06-05;

2、根据C列内容,自动计算从今天算起还有几天到结束日期,今天也算1天。例如:C2=2022-06-05,那么D2=52;

3、D列字体需要自动有“变色功能”,大于30天为【黑色】,小于等于30天为【红色】;

4、按照D列的天数,把A、B、C三列自动填充背景色,7天以内(含7天)为【红色】,8至15天(含15天)为【黄色】,16至30天(含30天)为【蓝色】,31至60天(含60天)为【绿色】,60天以上不标记颜色;

5、自动按照D列的天数升序排列。

初看需求以为是个“青铜”,细一看才发现原来是个“王者”。

基本每一个需求都有【自动】两个字,那我们先给大家展示一下,如何在不使用VBA的情况下实现“自动”?

C列“预埋”函数,因为不知道要输入多少行内容,10行?100行?….10000行?好吧,预埋到20000行也就是了。

首先,在名称框中输入单元格区域C2:C20000,然后按回车键;

此时就选中了C2:C20000单元格区域,然后输入函数

=IF(AND(A2"",B2""),EDATE(A2,B2)-1,"")

按CTRL+ENTER组合键结束录入,此时C2:C20000就有了“预埋”函数。

在D2单元格输入函数=IF(C2="","",DATEDIF(TODAY,C2,"d"))

注意一点:需求中没有说结束日期小于当前日期的情况,所以我们可以给个提示询问一下,或者直接用IFERROR函数容错也可以。

然后选中D2单元格,使用“条件格式”设置字体颜色,如下图所示:

再双击D2单元格的填充柄,填充至D20000单元格。

选中A2:C2单元格区域,根据需求使用“条件格式”依次新增4个条件格式规则,为每个规则设置不同的填充背景色。注意公式中需要锁定列,如下图所示:

然后我们再把“条件格式”中的【应用于】参数的单元格区域改成【=$A$2:$C$20000】。

及此,“可以自动的需求部分”就给大家分享完了,我们来看看效果吧!

至于最后一个需求:自动排序,常规的操作下,排序是没有“自动”功能的。

今天我们分享个简单的VBA代码,可以实现一键排序,如下:

Sub 排序

With Sheets(1)

Set rg = .Range("A1:D" .[B65000].End(3).Row)

rg.Sort key1:="还有几天结束", order1:=xlAscending, Header:=xlYes

End With

End Sub

按ALT+F11,打开VBE界面,在左侧工程栏,鼠标右键——插入——模块,然后在代码区,输入上面的代码。

回到工作表界面,在工具栏——“开发工具”——插入——表单控件——按钮控件,插入一个按钮控件,按下图设置内容。

及此,此需求就全部完成了,我们看看排序的效果吧!

特别提醒:使用VBA后,一定要把文件另存为.XLSM格式的文件哟!

好啦,以上就是今天的所有内容,感谢你的观看!

做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

学习交流请加微信:hclhclsc进微信学习群。

相关推荐:

如何提取唯一值?试试TEXTJOIN函数搭配VBA自定义!

别怕,VBA入门级教程来了,条件语句很简单!

如何在特定位置批量插入空行等12种实用办公技巧

工资表转工资条,VLOOKUP有绝招!

版权申明:

本文作者E图表述;同时部落窝教育享有专有使用权。若需请联系部落窝教育。

其他相关
Excel如何让单元格内日期只显示英文月份?

Excel如何让单元格内日期只显示英文月份?

作者: 天天见闻 时间:2023-10-15 阅读: 97
问题:l如何Excel单元格内日期只显示英文月份?具体操作如下:在D4单元格输入=month(C4),所以可以开始的取出月份。所以说可以建立一个数字与英文月份的对照表。选中“日期”分类,选择一种最接近英文月份的类型。也就是说MMM就是英文月份显示的编码。...
字典与数组第4讲:数组公式在工作表中的录入方法

字典与数组第4讲:数组公式在工作表中的录入方法

作者: 天天见闻 时间:2023-10-03 阅读: 65
“VBA数组与字典程序”教程(10144533)是我推出的第三个教程,现在已经在版本2中进行了修订。本教程定位于中级,词典是VBA的精华,我要求学生一定要学习。7.1.3.9掌握教程和手册后,您可以解决大部分工作中遇到的实际问题。 这本词典教程一共有两本,一共84次,今后一段时间修订后的教程内容将陆续推出。今天的内容是词典和数组第四次:排列式在工作表中的登录方法。 第四次排列式在工作表中的登录方法 您好,今天我来解释一下VBA数组和字典解决方案,今天的内容是第四次。在上一节的数组应用程序中,我们描述了如何在EXCEL表中注册常量数组。今天叙述的内容是前述内容的扩展,是排列式的登录方法,掌握这些方法对数组的理解是有用的。...
excel求和始终等于零怎么办 自动求和为零怎么处理

excel求和始终等于零怎么办 自动求和为零怎么处理

作者: 天天见闻 时间:2023-07-25 阅读: 107
Excel可以帮助用户处理各种事务所需的数据表,使用自动加法可以大大减少我们的计算量,但是有合作伙伴发现自动加法计算出的结果总是为零,今天我告诉你excel求和总是等于零该怎么做,excel求和总是等于零。1、在excel中使用sum函数对单元格区域内的数字进行合计的情况。然后指示单元格中的数字是文本格式...

Excel除零错误提示如何去掉除零错误怎么不显示

作者: 天天见闻 时间:2023-07-25 阅读: 113
1、先打开不想显示的表,2、图的公式是最简单的方法。也就是说,您可以直接划分[=单元格1/单元格2],3,优化公式以输入公式[=iferror(单元格1/单元格2,错误时显示0,显示正确的结果4)。可以把这个公式往下拉。5。如果不想显示错误(即,在出现错误时留有空格,且计算出现错误),“删除Excel 0错误提示0如何不显示删除错误的方法”如何解决Excel计算中的错误提示...

excel中如何使不同行列的单元格内容合并为一行

作者: 天天见闻 时间:2023-05-31 阅读: 123
1.首先,在Excel中创建一个新表单。2.全部选择,需要处理的表格。3.点击已下载的Excel工具箱(自行360搜索后可点击下载),4,点击工具箱中的[合并转换],5。“按列合并”7,输入单元格D7作为存储数据的位置。12,删除所有空白单元格-向上移动底部单元格如何将xcel中另一行的单元格内容合并为一行...
如何做wps求和(如何快速对wps表中的长数据求和)

如何做wps求和(如何快速对wps表中的长数据求和)

作者: 天天见闻 时间:2023-03-24 阅读: 131
在运算方面,我们最常用的还是求和。今天给大家分享3个实用的WPS表格合计技巧。1、WPS文档总和:2、WPS表单中的合计计算:操作步骤“选择所有数据”→点击上面的“快速计算”稍微复杂一些。在程序“1”的第一行单元格中,按“=SUM,3”输入键盘上的“5”,然后单击第一天的数据单元格。7已生成数据的第一个将被选中。...
我来说两句

年度爆文