当前位置:数据库 > Excel >>

excel问题,高手请赐教~~~~~~~~~~~~

我有个人数不少的数据库,a1(参加工作时间)、b1(退休时间),都是日期型格式,我需要在c1中显示几年几个月(退休时间-参加工作时间,这个单元格是数值型,计算结果应该是30.07这种的),不知道该用什么函数,怎么写了,请高手赐教~
补充:谢谢大家的帮助,可能我一开始没说清楚,我需要的月是,只要转过月来,不管满不满一个月都算一月,下面有几个朋友算的是满月才算月,还有的朋友让我用text但是如果,用这个的话,大部分日期是可以算对的,但是如果俩个日期的日是一样的话如:
A1:1978-1-23 
B1:2008-8-23
应该30.08个月可是算出的却是30.07所以也不行,不知还有别的方法么?谢谢
答案:=TEXT(B1-A1,"y.mm") 

=TEXT(B1-A1,"y年mm月") 
这两个公式试试 
-------------------- 
你要是要数值型的,那么就 
=TEXT(B1-A1,"y.mm")*1 
然后把单元格格式设为常规即可。
------------------
用这个试试
=TEXT(B1-A1+1,"y.mm")
其他:=DATEDIF("2000/3/25", "2010/5/24","m") & "个月"

DATEDIF
计算两个日期之间的天数、月数或年数。提供此函数是为了与 Lotus 1-2-3 相容。
语法
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文字串(例如 "2001/1/30")、序列数(例如,如果使用 1900 日期系统则 36921 代表 2001 年 1 月 30 日)或其他计算式或函数的结果(例如,DATEvalue("2001/1/30"))。有关日期序列数的详细资料,请参阅 NOW。
End_date 为一个日期,它代表时间段内的最后日期或结束日期。
Unit 为所需资讯的传回类型。
Unit 传回 
"Y" 周期中的整年数。 
"M" 周期中的整月数。 
"D" 周期中的天数。 
"MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。 
"YM" start_date 与 end_date 日期中月数的差。忽略日期中的日和年。 
"YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。 
注解 
Microsoft Excel 按顺序的序列数存档日期,这样就可以对其进行计算。如果活页簿使用 1900 日期系统,则 Excel 会将 1900 年 1 月 1 日储存为序列数 1。而如果活页簿使用 1904 日期系统,则 Excel 会将 1904 年 1 月 1 日储存为序列数 0,(而将 1904 年 1 月 2 日储存为序列数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1 日储存为序列数 35796,因为该日期距离 1900 年 1 月 1 日为 35795 天。学习关於 Microsoft Excel 如何储存日期和时间的资讯。
Excel for Windows 和 Excel for Macintosh 使用不同的预设日期系统。有关详细资料,请参阅 NOW。 
范例
DATEDIF("2001/1/1","2003/1/1","Y") 等於 2,即周期中有两个整年。

DATEDIF("2001/6/1","2002/8/15","D") 等於 440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日之间有 440 天。

DATEDIF("2001/6/1","2002/8/15","YD") 等於 75,即在 6 月 1 日与 8 月 15 日之间有 75 天,忽略日期中的年。

DATEDIF("2001/6/1","2002/8/15","MD") 等於 14,即开始日期 1 和结束日期 15 之间的差,忽略日期中的年和月。 =YEARFRAC(A1,B1,) 方法1:在A1单元格输入前面的日期,比如"2004-10-10",在A2单元格输入后面的日期,如"2005-6-7"。接着单击A3单元格,输入公式"=DATEDIF(A1,A2,"d")"。然后按下回车键,那么立刻就会得到两者的天数差"240"。 

  提示:公式中的A1和A2分别代表前后两个日期,顺序是不可以颠倒的。此外,DATEDIF函数是Excel中一个隐藏函数,在函数向导中看不到它,但这并不影响我们的使用。 

  方法2:任意选择一个单元格,输入公式"="2004-10-10"-"2005-6-7"",然后按下回车键,我们可以立即计算出结果。 在c1中输入=DATEDIF(c1,d1,"d")/365,再把C1单元格格式设置为数值就OK了. =DATEDIF("2000/3/25", "2010/5/24","m") & "个月" 


这个函数就可以做到 感觉都差不多 两种方法: 
用dateif 
A1:1978-1-23 
B1:2008-8-24 
C1:=DATEDIF(A1,B1,"y")&"."&TEXT(DATEDIF(A1,B1,"ym"),"00") 
值为30.07,即把不完整的一个月舍去不计 

直接相减 
A1:1978-1-23 
B1:2008-8-24 
C1:=TEXT(B1-A1,"yy.mm") 
计算值为:30.08 
把不完整的一个月算做一个整月。 
--------------------------------------------------------
更改如下:

=TEXT(B1-A1+DAY(A1),"yy.mm") select a1,b1,datedif(a1,b1,"m") 
from aaa


select ceiling(3.05)
用 ceiling 函数进一可以 =YEAR(B1)-YEAR(A1)+IF((MONTH(A1)-MONTH(B1))>1,-1)+(MOD(MONTH(B1)-MONTH(A1)+IF((DAY(B1)-DAY(A1))>=0,1,0)+13,12))/100

上一个:excel如何建立简单的数据库
下一个:两个EXCel文件用数据库进行关联

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,