excel 如何实现日期相减

来源:百度知道 编辑:UC知道 时间:2024/06/18 05:36:51
看了以前别人的回答,还是不太清楚。想得到2个日期之间的天数
我从其他软件中输入了一批数据,
比如:
01/02/2008 12/31/2008
01/04/2008 12/31/2008
01/05/2008 12/31/2008
01/05/2008 12/31/2008
01/05/2008 12/31/2008
01/06/2008 12/31/2008
01/06/2008 12/31/2008
01/07/2008 12/31/2008

不是日期型,无法使用datedif等函数,
奇怪的是,我自己输入了2个日期做实验用datedif函数,怎么显示是 =DATEDIF(H2,G2,"d")
用Day()好像也不行
是不是本身原始数据需要转换格式?还是??

哎,晕
作业要交,谢谢
哦,我的EXCEL是英文版,原始输出的数据也是英文版,不知道有影响没
不过操作系统也是vista 英文版

数据本身有问题,需要先处理一下。
愿意的话,可以将文件发到redstarw@163.com,帮你看看。

楼主我告诉你吧!
你的日期是输入错误的
01/07/2008这种日期格式适用于美国,但不适用于中国,而excel中的日期设置与操作系统的设置是相关的,也就是说如果你的操作系统使用的语言选项是“中国”,那么在excel中将不会把01/07/2008当作日期,也无法将其设置为日期,
但是如果你把操作系统中使用的语言选项改为“美国”的话,在excel中会认为01/07/2008这个就是日期,可进行日期操作!

至于修改操作系统使用的语言选项,请点击操作系统的控制面版,点击“区域与语言选项”,然后在“区域选项”选项卡中点击“自定义”左侧的列表框,选择“美国”,然后关闭excel,再重新打开该文档,就可以使用日期函数了!

正如楼主你说的,你的原始数据是英文的,所以使用的欧美的习惯,才会出现这种问题
所以建议楼主把操作系统使用的语言选项改为美国,使用再进行操作,弄完之后再改回中国就是了

请参考

=DATEDIF(H2,G2,"d")
公式没有问题,但要注意把在前的那个日期放在前面做第一个参数,较大的日期放在后面做第二个参数。

=datedif(date(right(a1,4),left(a1,2),mid(a1,4,2)),date(right(b1,4),left(b1,2),mid(b1,4,2)),"d")

不需要转换也可以,以下公式:
C1=DATE(MID(B1,7,4),MID(B1,1,2),MID(B1,4,2))-DATE(MID(A1,7,4),MID(A1,1,2),MID(A1,4,2))
把C1单元格设置成常规。就会显示相距天数。

用原始的!例如你的数据在a1,b1,你可以在c1输:=date(year(b1)-year(a1),month(b1)-month(a1),day(b1)-day(a1))