excel如何计算 某一日期后几天(具体的天数)的日期
显示#VALUE!DATE(2008,10,10)+100;2008,10,10是取自单元格的值A1:2008.10.10B1=?A1=2008.10.10B1=OKC1...
显示#VALUE!
DATE(2008,10,10)+100;2008,10,10是取自单元格的值
A1:2008.10.10
B1=?
A1=2008.10.10 B1=OK C1=OK D1=如果B1=OK和C1=OK那么D1=A1+10;如果B1=2和C1=2那么D1=A1+5(一共六种情况) 展开
DATE(2008,10,10)+100;2008,10,10是取自单元格的值
A1:2008.10.10
B1=?
A1=2008.10.10 B1=OK C1=OK D1=如果B1=OK和C1=OK那么D1=A1+10;如果B1=2和C1=2那么D1=A1+5(一共六种情况) 展开
12个回答
展开全部
Excel里面,关于日期的运算及转换的系统介绍:https://zhuanlan.zhihu.com/p/86175301,文章内系统的介绍了日期时间和数值的转换,已经日期时间之间的运算方式。
在Excel里面,关于日期和时间的计算让很多人头疼,其实非常简单,只需要我们掌握一个运算原理:日期和时间与数值可以相互转化,日期等价整数,时间等价小数,日期和时间的加减乘除就是数值的加减乘除。
日期和数值的相互转化:
整数值转成日期,数值大小是距离1900年1月1日多少天,比如1转成日期格式就是1900-1-1,数值20转成日期格式就是1900-1-20,对应的日期转成数值也是,比如将日期2019-10-11转成常规格式是43749,43749是2019年10月11日到1900年1月1日相差的天数。
另外在函数里,日期和数值也可以转化的,非常灵活,比如=year(1),year函数的参数应该是个日期,但1是数值,函数会把数值转成日期,也就是=year("1900-1-1"),返回1990,这里要注意,如果函数的参数是日期,必须要用引号引起来,如果不加引号,会当做数值运算,比如=year(1900-1-1),返回的不是1900,而是1905,会把1900-1-1当做数值运算,用1900减1再减1,得到1898,距离1900年1月1日 1898天,是1905年3月12日,所以返回1905年。
时间和数值的相互转化
小数转成日期,比如0.5变成时间格式就是12:00,0.2变成时间,就是24*0.2=4.8,就是4点48分,但注意的是只有小数会变成时间,整数变成时间格式都是0:00,例如3变成时间格式是0:00,3.5变成时间格式是12:00,但需要注意的是3.5变成时间格式只是显示为12:00,而实际的内容是1900-1-3 12:00,所以当我们做时间运算时,千万不要只看单元格的内容,是不真实的,要看编辑栏里的内容。
日期的运算就是数值的运算
日期的加减乘除运算的底层逻辑就是数值的加减乘除运算,比如日期1900-1-2乘3,底层就是2*3=6,再转为日期就是1900-1-6,日期1900-1-10乘100,就是10*100=1000,转为日期就是1902-9-26。所以当再碰到日期和时间的运算时就不要慌啦,底层就是数值的运算,比如要计算1902-9-26与1900-1-6相差多少天,就可以直接用减法。
用案例看日期和时间的运算
这是一个停车收费计算表,A列是车牌,B列是停车日期,C列是停车时间,D列是离开日期,E列是离开时间,现在需要计算停车收费,标准是1分钟0.1元。
1.首先在F列计算停留几天,比如第三行,虽然停车日期是2月1日,离开日期是2月2日,但是不到24小时,不能算一天,可以在F列输入公式=INT(D3+E3-C3-B3),D3+E3得到离开的日期时间,减去C3再减去B3就是停留的时间(整数+小数,整数代表天,小数代表时间),想要得到停留的天数,也就是整数部分,用int函数取整;
2.在G列计算停留时间(一天内的),其实就是上一步得到结果的小数部分,可以用=D3+E3-B3-C3-F3,得到停留的时间;
3.在H列计算停留的总分钟,用F列的天数*24小时*60分钟+G列转化为分钟,函数为=F3*24*60+HOUR(G3)*60+MINUTE(G3);
4.在I列得到最后的收费,用H列的分钟*0.1,=H3*0.1;
5.如果我们对日期和时间运算非常熟悉的话,可以一步得到结果:=INT((D3+E3-B3-C3)*24*60)*0.1,D3+E3-B3-C3得到的是停留的天数,包括小数部分,比如结果是2.2,那就停留2.2天,一天是24小时*60分钟,因为还有秒,这里没做考虑,所以直接用取整函数,乘0.1得到最后的结果。
最后补充以下,有些人会用text函数生成时间,再对时间做运算,得不到正确结果,因为text函数返回的是文本,需要在函数前面加一个 -- ,变成数值型就可以啦。
在Excel里面,关于日期和时间的计算让很多人头疼,其实非常简单,只需要我们掌握一个运算原理:日期和时间与数值可以相互转化,日期等价整数,时间等价小数,日期和时间的加减乘除就是数值的加减乘除。
日期和数值的相互转化:
整数值转成日期,数值大小是距离1900年1月1日多少天,比如1转成日期格式就是1900-1-1,数值20转成日期格式就是1900-1-20,对应的日期转成数值也是,比如将日期2019-10-11转成常规格式是43749,43749是2019年10月11日到1900年1月1日相差的天数。
另外在函数里,日期和数值也可以转化的,非常灵活,比如=year(1),year函数的参数应该是个日期,但1是数值,函数会把数值转成日期,也就是=year("1900-1-1"),返回1990,这里要注意,如果函数的参数是日期,必须要用引号引起来,如果不加引号,会当做数值运算,比如=year(1900-1-1),返回的不是1900,而是1905,会把1900-1-1当做数值运算,用1900减1再减1,得到1898,距离1900年1月1日 1898天,是1905年3月12日,所以返回1905年。
时间和数值的相互转化
小数转成日期,比如0.5变成时间格式就是12:00,0.2变成时间,就是24*0.2=4.8,就是4点48分,但注意的是只有小数会变成时间,整数变成时间格式都是0:00,例如3变成时间格式是0:00,3.5变成时间格式是12:00,但需要注意的是3.5变成时间格式只是显示为12:00,而实际的内容是1900-1-3 12:00,所以当我们做时间运算时,千万不要只看单元格的内容,是不真实的,要看编辑栏里的内容。
日期的运算就是数值的运算
日期的加减乘除运算的底层逻辑就是数值的加减乘除运算,比如日期1900-1-2乘3,底层就是2*3=6,再转为日期就是1900-1-6,日期1900-1-10乘100,就是10*100=1000,转为日期就是1902-9-26。所以当再碰到日期和时间的运算时就不要慌啦,底层就是数值的运算,比如要计算1902-9-26与1900-1-6相差多少天,就可以直接用减法。
用案例看日期和时间的运算
这是一个停车收费计算表,A列是车牌,B列是停车日期,C列是停车时间,D列是离开日期,E列是离开时间,现在需要计算停车收费,标准是1分钟0.1元。
1.首先在F列计算停留几天,比如第三行,虽然停车日期是2月1日,离开日期是2月2日,但是不到24小时,不能算一天,可以在F列输入公式=INT(D3+E3-C3-B3),D3+E3得到离开的日期时间,减去C3再减去B3就是停留的时间(整数+小数,整数代表天,小数代表时间),想要得到停留的天数,也就是整数部分,用int函数取整;
2.在G列计算停留时间(一天内的),其实就是上一步得到结果的小数部分,可以用=D3+E3-B3-C3-F3,得到停留的时间;
3.在H列计算停留的总分钟,用F列的天数*24小时*60分钟+G列转化为分钟,函数为=F3*24*60+HOUR(G3)*60+MINUTE(G3);
4.在I列得到最后的收费,用H列的分钟*0.1,=H3*0.1;
5.如果我们对日期和时间运算非常熟悉的话,可以一步得到结果:=INT((D3+E3-B3-C3)*24*60)*0.1,D3+E3-B3-C3得到的是停留的天数,包括小数部分,比如结果是2.2,那就停留2.2天,一天是24小时*60分钟,因为还有秒,这里没做考虑,所以直接用取整函数,乘0.1得到最后的结果。
最后补充以下,有些人会用text函数生成时间,再对时间做运算,得不到正确结果,因为text函数返回的是文本,需要在函数前面加一个 -- ,变成数值型就可以啦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您好,您的代码本身没有什么问题,问题是您A1单元格内的日期的格式“不规范”。2008.10.10是一个字符型的数据,不是日期,对其加减运算会出错。
您要做的首先是日期的规范。
供参考,祝顺利。
您要做的首先是日期的规范。
供参考,祝顺利。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A1为日期,在B1中填入=A1+1就是一天后的日期
A1需要单元格格式为日期形式
A1需要单元格格式为日期形式
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D1输入公式:
=TEXT(SUBSTITUTE(A1,".","-")+(B1="OK")*(C1="OK")*10+(B1=2)*(C1=2)*5,"e-m-d")
公式中只写了你说的两个条件,其他条件你参照上面的方法加上去即可。
=TEXT(SUBSTITUTE(A1,".","-")+(B1="OK")*(C1="OK")*10+(B1=2)*(C1=2)*5,"e-m-d")
公式中只写了你说的两个条件,其他条件你参照上面的方法加上去即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询