excel中如何用函数算出时间差

第一列为19890306 (就是1989年3月6日)
第二列为19891230 (就是1989年12月30日)
要求新建一列 得出前两列的时间差(要求是十进制数字的)

假设A1为:19890306 B1为:19891230

时间差为:=VALUE(LEFT(A1,4)&"/"&MID(A1,5,2)&"/"&RIGHT(A1,2))-VALUE(LEFT(B1,4)&"/"&MID(B1,5,2)&"/"&RIGHT(B1,2))

如果是绝对值则是:=abs(VALUE(LEFT(A1,4)&"/"&MID(A1,5,2)&"/"&RIGHT(A1,2))-VALUE(LEFT(B1,4)&"/"&MID(B1,5,2)&"/"&RIGHT(B1,2)))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-04
可以用分列功能将原数据处理为日期格式(向导第3步选日期值YMD)
如果你还要显示成这样可以自定义单元格格式yyyymmdd

处理为日期值后即可使用datedif函数计算各种差。

如果不想改变数据源
还可以套用text函数实现同样的目的

例如计算相差的天数
=datedif(text(a1,"0-00-00"),text(b1,"0-00-00"),"d")

=text(b1,"0-00-00")-text(a1,"0-00-00")
第2个回答  2009-11-04
建议:
把两个输入日期的列的单元格格式换成 自定义-- yyyy-mm-dd
输入的时候1989-06-03,因为如果你直接输入19890603会认为是个数值

之后直接在C列用 =datedif(A1,B1,"D")这个是算天数 把D换成Y是年数,把D换M是月数
第3个回答  2009-11-04
=DATEDIF(A1,B1,"Y") 表示前后相差年数

=DATEDIF(A1,B1,"M") 表示前后相差月数

=DATEDIF(A1,B1,"D") 表示前后相差日数
第4个回答  2009-11-04
time函数
相似回答