1、以2007版EXCEL为例,在下图中以当天日期计算时间进度
2、在A2单元格使用TODAY函数来显示当前日期,显示为打开表格当日日期,当需要在工作表上显示当前日期时,TODAY 函数非常有用,如下图
注意:TODAY 函数语法没有参数,即括号()中间为空,没有任何数值或参数。
3、要计算时间进度,首先我们应该先提取当前年月日的“日”,在下图中,为2,提取日期的公式为=day(A2),提取A2单元格的日期(不包括月份)
我们看到B2单元格公式设置完成后返回的是日期,是因为Excel 可将日期存储为可用于计算的连续序列号。 默认情况下,1900年1月1日的序列号为 1,那么1900年1月2日的序列号为2。
为了让它显示为序列号,您必须将单元格格式更改为“常规”或“数字”,如下图,将单元格格式更改为“常规”后的显示结果
4、提取日期后,我们还要计算出当前日期当月的天数,为了方便观看,我们在B3单元格操作计算当月天数,在B3单元格输入函数:=EOMONTH(A2,0),返回当前日期月份的最后一天
EOMONTH 函数语法具有以下参数:
EOMONTH(start_date, months)
Start_date 必需。一个代表开始日期的日期。
Months 必需。 start_date 之前或之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。months为0时生成当前日期。
输入函数后按回车键的返回结果如下:
5、我们通过EOMONTH函数知道了当前月份的最后一天为30日,也就是说11月有30天。
这时我们在EOMONTH函数的基础上提取天数,按第3步的方法在EOMONTH函数的基础上提取天数,在EOMONTH函数前加DAY函数,即在B3单元格输入:=DAY(EOMONTH(A2,0)),如下图,返回结果为:30
注意:为了返回结果为序列号,我们需提前将B3单元格格式更改为“常规”
6、时间进度为当天时期除以整月天数。
公式为:=B2(当天日期,即当前日期的天数)/B3(当前日期中,11月整个月的天数)。
这时我们就可以将两个单元格的公式合并为一个输入到B2单元格中,计算时间进度,即:=day(A2)/DAY(EOMONTH(A2,0)),显示结果如下:
7、因为我们的进度要显示为百分比,所以我们还要将进度所在单元格(即B2)格式设置为“百分比”,完成。显示结果为:
1、必须有日期为支撑,闰年和非闰年的月份天数可能不一样,若求A1(A1为日期)月份的天数,可用公式:=day(date(year(a1),month(a1)+1,0))
2、day是日期函数用来求日期格式数值的日期数值的返回以序列号表示的某日期的天数,用整数 1 到 31 表示。
比如:
=day("2011/5/4") 得出的值就是4
Excel中计算两个日期之间的月数需要用到日期函数:DATEDIF,该函数能够计算两个日期之间的相差的年数、月数、天数。
函数及参数说明
函数:DATEDIF(start_date,end_date,unit)
Start_date:为一个日期,它代表时间段内的第一个日期或起始日期。
End_date:为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit:为所需信息的返回类型。
Unit取不同值的含意:
"Y"——时间段中的整年数。
"M"——时间段中的整月数。
"D"——时间段中的天数。
"YM"——start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD"——start_date 与 end_date 日期中天数的差。忽略日期中的年。
"MD"——start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
举例说明。
开始日期:2012/12/21
结束日期:2014/2/26
在单元格C2中输入公式 =DATEDIF(A2,B2,"Y")
在单元格D2中输入公式 =DATEDIF(A2,B2,"YM")
在单元格E2中输入公式 =DATEDIF(A2,B2,"MD")
在单元格F2中输入公式 =DATEDIF(A2,B2,"D")
结果说明。
2012/12/21与2014/2/26之间相隔1年、2个月、零5天,即14个月、零5天,总共相隔432天。
Vba Eomonth
参考: shrinkurlim/a82fX
其实 excel 2010 以前的版本也有这个函数
只是放在 增益集吧了 请见下面 excel说明节录: EOMONTH传回在 start_date 之前或之后指定月数的这一个月最后一天的序列号码。使用 EOMONTH 来计算刚好落在这一个月最后一天的到期日。有关 Microsoft Excel 使用日期作为序列号码的详细资讯,请参阅 [注解] 一节。如果这个函数不适用,您可以执行 [安装] 程式来安装 [分析工具箱] 。安装 [分析工具箱] 后,您必须使用 [工具] 功能表上的 [增益集] 指令来启用。 语法EOMONTH(start_date
months)Start_date(开始日期) 该日期表示开始日期。日期可能在引号之内输入文字字串(例如,"1998/01/30"),或者数列数字(例如,35825,如果您使用的是 1900 日期系统,则其表示 1998 年 1 月 30 日),或者输入其它公式或函数(例如, DATEVALUE("1998/1/30"))。Months(月数) 系指开始日期之前或之后的月数。月数如果为正值,代表未来的日期。月数如果为负值,代表过去的日期。注解 Excel 以循序序列值储存资料,因此它可以在它们上面执行计算。如果您的活页簿是使用 1904 日期系统,Excel 会以序列值 1 来储存 1990 年 1 月1 日;而以序号 0 来储存 1904 年 1 月 1 日(1904 年 1 月 2 日是序列值 1 )。例如,在 1900日期系统内,Excel 会以序列值 35796 储存 1998 年 1 月 1 日,因为此日期是在 1900 年 1 月 1 日的 35795 天之后。了解更详细有关 Microsoft Excel 如何储存日期和时间的资讯。 如果 start_date 不是有效日期,EOMONTH 会传回 #NUM! 错误值。 如果月数不是一个整数,它会被舍去。 如果 start_date 加上月份得到一个无效值,则 EOMONTH 将会传回 #NUM! 错误值。 范例EOMONTH(DATEVALUE("1998/01/01")
1) 等于 35854 或 1998 年 2 月 28 日EOMONTH("1998/01/01"
-1) 等于 35795 或 1997 年 12 月 31 日EOMONTH("2000/01/30"
3) 等于 36646 或 2000 年 4 月 30 日
不知道2003是否可以使用到这个功能, 但我想可以用普通的公式解决。 举例︰ 要这个月的第一日的话就用这个公式︰ = Date(year(today())
month(today() )
1) 要这个月的最后一日的话就用这个公式︰ = Date(year(today() )
month(today() )+1
1) -1 又或是某一个日子的那一个月的第一日︰(某一个日子是在储存格A1) = Date(year(A1 )
month(A1 )
1) 又或是某一个日子的那一个月的最后一日︰(某一个日子是在储存格A1) Date(year(A1)
month(A1 )+1
1) -1 试试行不行,谢。
参考: sitesgoogle/site/exceltkk2/
一、EOMONTH 函数
EOMONTH 函数:返回指定月份之前或者之后的月份的最后一天
语法:EOMONTH(start_date, months)
第一参数:start_date,表示开始的时间
第二参数:months,表示第一参数这个日期之前或者之后的月份,在这里输入正值代表未来的日期,输入负值则代表过去的日期
比如在这里我们将第一参数设置为2020/1/8,分别将第二参数设置为-2,-1,0,1,2结果如下图,将第二参设设置为-1就会返回2019年12月的最后1天,设置为0就会返回当月的最后一天,设置为1就会返回下个月的最后一天,以此类推,我可以根据函数的这个特性使用day函数提取日期中的天数即可。我突然发现今年居然是闰年
二、获取当月天数
获取当月的天数我们可以使用today函数来返回今天的日期,然后将这个日期作为EOMONTH 函数函数的第一参数,将EOMONTH 函数的第二参数设置为0,最后我们使用day函数提取当月最后一天日期的天数,最后将格式设置为常规格式即可,这样的话就完成了
Excel计算当月天数,肯定会涉及到日期函数,比如DAY、EOMONTH、DATE等等相关的日期函数。
当您对Excel函数越熟练,写公式的时候,方法就会越多,思路也会越清晰。借用部落窝教育Excel极速贯通班滴答老师的话来说,学函数其实就是学逻辑,单一的函数用法,看Excel帮助文件,或许都能明白,实际工作中,难就难在函数的嵌套使用。因为一般解决工作的问题,都不可能只是用到单一的一个函数。
公式模式是=DATE(年,月,日)
把当前的年份2021填进去、
把当前的月份,再减30填进去、
把日子填进去,你已指定日子为1号,
所以公式是:
=DATE(2021,6-30,1)
如果这个月数30是在单元格中,比如图上是在A2,那么公式是:
=DATE(2021,6-A2,1)
以上就是关于关于在EXCEL中如何用公式做时间进度全部的内容,包括:关于在EXCEL中如何用公式做时间进度、excel表示月份天数的函数、如何用excel公式计算两个日期之间的自然月份数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!