DATEDIF函数实例_第1页
DATEDIF函数实例_第2页
DATEDIF函数实例_第3页
DATEDIF函数实例_第4页
DATEDIF函数实例_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 WORD DATEDIF函数计算两个日期间的年数、月数或天数(DATEDIF函数是EXCEL中的一个隐藏函数,在函数向导中是找不到的,可直接输入使用,用于计算年龄、工龄非常好)语法:DATEDIF(date1,date2,code)          date1:起始日期          date2:结束日期          code: CODE返回值"Y"这期间的完全年数"M&q

2、uot;这期间的完全月数"D"这期间的完全天数"MD"起始日期与结束日期的同月间隔天数。日期的月数和天数被忽略。"YM"起始日期与结束日期的间隔月数。日期的年数和天数被忽略。"YD"起始日期与结束日期的同年间隔天数。日期的年数被忽略。           例1:计算两个日期间的年数、月数或天数起始日期1980-6-14在A5,结束日期B52011-9-10在B5,在C5中输入公式=DATEDIF(A5,B5,"y")

3、可计算出相隔年数,返回31。           例2:计算一个人的年龄某人的出生年月为1968-7-13,在C13单元格,今天是2012-4-23计算年数,公式为=DATEDIF($C$13,TODAY(),"y"),返回43。计算月数,公式为=DATEDIF($C$13,TODAY(),"ym"),返回9。计算天数,公式为=DATEDIF($C$13,TODAY(),"md"),返回10。这个人的年龄可用以下公式连接成文本:="年龄是&quo

4、t;&DATEDIF(C13,TODAY(),"y")&"岁"&DATEDIF(C13,TODAY(),"ym")&"个月零"&DATEDIF(C13,TODAY(),"md")&"天"返回:年龄是43岁9个月零10天。在Excel 2003中,日期函数DAYS360和DATEDIF的起始日期和结束日期两个参数,如果要在函数中直接输入,必须使用DATE(年,月,日)函数输入,不能以文本形式输入,否则出错。例如,要用上述两个函数计

5、算起始日期为1920年2月3日,结束日期为2012年3月13日之间的天数,可以这样输入“=days360(date(1920,2,3),date(2012,3,13)"或 “=datedif(date(1920,2,3),date(2012,3,13),"d")" ,前者以每年360天进行计算(即按平均每月30天计算),后者按实际天数计算。         当然,如果上述两个日期函数引用的开始日期和结束日期两个参数可以通过引用单元格地址获得,则可以直接引用相应单元格的地址即可DATEDIF函数实例:计算总

6、借款天数和还款剩余天数上例我们将了利用excel的DATEDIF函数来自动追加工龄工资。本例我们讲解利用DATEDIF函数来计算借款天数和还款剩余天数。我们使用DATEDIF函数,根据借款日期与还款日期计算出总借款天数和还款剩余天数。如图所示:选中E2单元格,输入公式:=DATEDIF(C2,D2,"D"),就求出了天人科技的总借款天数。向下拖动,进行公式填充,即可快速计算出另外单位的借款天数。选中F2单元格,输入公式:=DATEDIF (TODAY(),D2,”D”),就求出了天人科技的还款剩余天数。向下拖动,进行公式填充,即可快速计算出另外单位的还款剩余天数。days3

7、60("2004-2-25","2004-3-2")=7,为什么会等于7呢?而不等于6呢?days360按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月)=DATEDIF("2004-2-25","2004-3-2","d")或="2004-3-2"-"2004-2-25"DATEIF()是宏函数.可以方便地求相隔月年日.不过主要还是用在日以外的.DATEDIF是Excel中的一个隐藏函数,在函数向导中是找不到的。此函数最初是Lotu

8、s 1-2-3里面的函数,微软为了使Excel与Lotus 1-2-3兼容而采用了它,但不知为何没写入文字资料。有人说是与知识产权有关。它用于返回两个日期参数的差值。 其语法为:=DATEDIF(Date1,Date2,Interval)其中date1必须早于date2,否则返回#NUM! 参数Interval可以在"y"、"m"、"d"、"ym"、"yd"、"md" 六个里面选。 前三个(y、m、d)当然表示要求返回两个日期相差的年、月、日数。后三个可能需要较多解释:&qu

9、ot;ym"表示忽略年份的差别,只计所差的月份(即视两日期在同一年)。"yd"表示忽略年份的差别,只计所差的天数(即视两日期在同一年)。"md"表示忽略年份和月份的差别,只计所差的天数(即视两日期为同年同月)。要善于利用论坛的搜索功能。有什么函数不太清楚的,可在论坛上搜索。matsumi 2004-3-21 10:11=DATEDIF("2004-2-25","2004-3-2","d")是6天="2004-3-2"-"2004-2-25"是6天

10、days360("2004-2-25","2004-3-2")是7天为什么结果不一样?示例DATEDIF("2001/1/1","2003/1/1","Y") 等于 2,即时间段中有两个整年。 DATEDIF("2001/6/1","2002/8/15","D") 等于 440,即在 2001 年 6 月 1 日和 2

11、002 年 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

12、") 等于 14,即开始日期 1 和结束日期 15 之间的差,忽略日期中的年和月假设小日期输入在单元格A1,大日期在B1。在C1输入 =B1-A1+1或者=DATEDIF(A1,B1,"d")+1就是你要的。可能的话,需要右键设置单元格格式为数字。追问: 这样算出来会是什么?这不符合我的要求,再说要是润月的28天,怎么算,我要是自动会算,不要人工去算,如果这个时间列很多,上百个,时间也乱,你怎么去算?回答: 呵呵,我已经提醒过你了。右键点C1,设置单元格格式,数字,常规。其他事情你不用担心,Excel把数

13、字1当做1900-01-01,今天是数字40384,即从1900年1月1日算起,过去40384天了。class.ibucm./waikehl/xi/xi8/hl2_3a.htm#1.bioon./Article/Class305/309387.shtml农历VBA如何使用VBA1 在EXCEL里工具栏上右击,选控件工具箱2 点里面的按钮,在工作表上添加3 右击新加的按钮,查看代码按ALT+F11 再 插入 模块把下面的代码制复制到模块中,然后 在B1中输入:=calendar(A1)假设日期在A1。Option ExplicitDim WeekName(7), MonthAdd(11), No

14、ngliData(120), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)Dim curTime, curYear, curMonth, curDay, curWeekdayDim GongliStr, WeekdayStr, NongliStr, NongliDayStrDim i, m, n, k, isEnd, bit, TheDate, num1, num2Dim year, month, day, grid, grid_dateFunction calendar(grid)grid_date = gridy

15、ear = Mid(grid_date, 1, 4)num1 = InStr(grid_date, "-")num2 = InStr(6, grid_date, "-")If (num2 - num1) = 3 Then month = Mid(grid_date, 6, 2) day = Mid(grid_date, 9, 2) Else month = Mid(grid_date, 6, 1) day = Mid(grid_date, 8, 2) End If'星期名WeekName(0) = " * "WeekName(

16、1) = "星期日"WeekName(2) = "星期一"WeekName(3) = "星期二"WeekName(4) = "星期三"WeekName(5) = "星期四"WeekName(6) = "星期五"WeekName(7) = "星期六"'天干名称TianGan(0) = "甲"TianGan(1) = "乙"TianGan(2) = "丙"TianGan(3) = "

17、丁"TianGan(4) = "戊"TianGan(5) = "己"TianGan(6) = "庚"TianGan(7) = "辛"TianGan(8) = "壬"TianGan(9) = "癸"'地支名称DiZhi(0) = "子"DiZhi(1) = "丑"DiZhi(2) = "寅"DiZhi(3) = "卯"DiZhi(4) = "辰"DiZhi(5)

18、 = "巳"DiZhi(6) = "午"DiZhi(7) = "未"DiZhi(8) = "申"DiZhi(9) = "酉"DiZhi(10) = "戌"DiZhi(11) = "亥"'属相名称ShuXiang(0) = "鼠"ShuXiang(1) = "牛"ShuXiang(2) = "虎"ShuXiang(3) = "兔"ShuXiang(4) = "龙

19、"ShuXiang(5) = "蛇"ShuXiang(6) = "马"ShuXiang(7) = "羊"ShuXiang(8) = "猴"ShuXiang(9) = "鸡"ShuXiang(10) = "狗"ShuXiang(11) = "猪"'农历日期名DayName(0) = "*"DayName(1) = "初一"DayName(2) = "初二"DayName(3) =

20、"初三"DayName(4) = "初四"DayName(5) = "初五"DayName(6) = "初六"DayName(7) = "初七"DayName(8) = "初八"DayName(9) = "初九"DayName(10) = "初十"DayName(11) = "十一"DayName(12) = "十二"DayName(13) = "十三"DayName(14)

21、= "十四"DayName(15) = "十五"DayName(16) = "十六"DayName(17) = "十七"DayName(18) = "十八"DayName(19) = "十九"DayName(20) = "二十"DayName(21) = "二十一"DayName(22) = "二十二"DayName(23) = "二十三"DayName(24) = "二十四"

22、DayName(25) = "二十五"DayName(26) = "二十六"DayName(27) = "二十七"DayName(28) = "二十八"DayName(29) = "二十九"DayName(30) = "三十"'农历月份名MonName(0) = "*"MonName(1) = "正"MonName(2) = "二"MonName(3) = "三"MonName(4) =

23、"四"MonName(5) = "五"MonName(6) = "六"MonName(7) = "七"MonName(8) = "八"MonName(9) = "九"MonName(10) = "十"MonName(11) = "十一"MonName(12) = "腊"'公历每月前面的天数MonthAdd(0) = 0MonthAdd(1) = 31MonthAdd(2) = 59MonthAdd(3) =

24、90MonthAdd(4) = 120MonthAdd(5) = 151MonthAdd(6) = 181MonthAdd(7) = 212MonthAdd(8) = 243MonthAdd(9) = 273MonthAdd(10) = 304MonthAdd(11) = 334'农历数据NongliData(0) = 2635NongliData(1) = 333387NongliData(2) = 1701NongliData(3) = 1748NongliData(4) = 267701NongliData(5) = 694NongliData(6) = 2391NongliDa

25、ta(7) = 133423NongliData(8) = 1175NongliData(9) = 396438NongliData(10) = 3402NongliData(11) = 3749NongliData(12) = 331177NongliData(13) = 1453NongliData(14) = 694NongliData(15) = 201326NongliData(16) = 2350NongliData(17) = 465197NongliData(18) = 3221NongliData(19) = 3402NongliData(20) = 400202Nongli

26、Data(21) = 2901NongliData(22) = 1386NongliData(23) = 267611NongliData(24) = 605NongliData(25) = 2349NongliData(26) = 137515NongliData(27) = 2709NongliData(28) = 464533NongliData(29) = 1738NongliData(30) = 2901NongliData(31) = 330421NongliData(32) = 1242NongliData(33) = 2651NongliData(34) = 199255Non

27、gliData(35) = 1323NongliData(36) = 529706NongliData(37) = 3733NongliData(38) = 1706NongliData(39) = 398762NongliData(40) = 2741NongliData(41) = 1206NongliData(42) = 267438NongliData(43) = 2647NongliData(44) = 1318NongliData(45) = 204070NongliData(46) = 3477NongliData(47) = 461653NongliData(48) = 138

28、6NongliData(49) = 2413NongliData(50) = 330077NongliData(51) = 1197NongliData(52) = 2637NongliData(53) = 268877NongliData(54) = 3365NongliData(55) = 531109NongliData(56) = 2900NongliData(57) = 2922NongliData(58) = 398042NongliData(59) = 2395NongliData(60) = 1179NongliData(61) = 267415NongliData(62) =

29、 2635NongliData(63) = 661067NongliData(64) = 1701NongliData(65) = 1748NongliData(66) = 398772NongliData(67) = 2742NongliData(68) = 2391NongliData(69) = 330031NongliData(70) = 1175NongliData(71) = 1611NongliData(72) = 200010NongliData(73) = 3749NongliData(74) = 527717NongliData(75) = 1452NongliData(7

30、6) = 2742NongliData(77) = 332397NongliData(78) = 2350NongliData(79) = 3222NongliData(80) = 268949NongliData(81) = 3402NongliData(82) = 3493NongliData(83) = 133973NongliData(84) = 1386NongliData(85) = 464219NongliData(86) = 605NongliData(87) = 2349NongliData(88) = 334123NongliData(89) = 2709NongliDat

31、a(90) = 2890NongliData(91) = 267946NongliData(92) = 2773NongliData(93) = 592565NongliData(94) = 1210NongliData(95) = 2651NongliData(96) = 395863NongliData(97) = 1323NongliData(98) = 2707NongliData(99) = 265877'生成当前公历年、月、日 => GongliStrcurYear = yearcurMonth = monthcurDay = dayGongliStr = curYe

32、ar & "年"If (curMonth < 10) Then GongliStr = GongliStr & "0" & curMonth & "月"Else GongliStr = GongliStr & curMonth & "月"End IfIf (curDay < 10) Then GongliStr = GongliStr & "0" & curDay & "日"Else Gong

33、liStr = GongliStr & curDay & "日"End If'生成当前公历星期 => WeekdayStrcurWeekday = Weekday(curTime)WeekdayStr = WeekName(curWeekday)'计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)TheDate = (curYear - 1921) * 365 + Int(curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38If (curYear Mod

34、 4) = 0 And curMonth > 2) Then TheDate = TheDate + 1End If'计算农历天干、地支、月、日isEnd = 0m = 0Do If (NongliData(m) < 4095) Then k = 11 Else k = 12 End If n = k Do If (n < 0) Then Exit Do End If '获取NongliData(m)的第n个二进制位的值 bit = NongliData(m) For i = 1 To n Step 1 bit = Int(bit / 2) Next bit

35、= bit Mod 2 If (TheDate <= 29 + bit) Then isEnd = 1 Exit Do End If TheDate = TheDate - 29 - bit n = n - 1 Loop If (isEnd = 1) Then Exit Do End If m = m + 1LoopcurYear = 1921 + mcurMonth = k - n + 1curDay = TheDateIf (k = 12) Then If (curMonth = (Int(NongliData(m) / 65536) + 1) Then curMonth = 1 -

36、 curMonth ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1) Then curMonth = curMonth - 1 End IfEnd If'生成农历天干、地支、属相 => NongliStrNongliStr = "农历" & TianGan(curYear - 4) Mod 60) Mod 10) & DiZhi(curYear - 4) Mod 60) Mod 12) & "年"NongliStr = NongliStr & &qu

37、ot;(" & ShuXiang(curYear - 4) Mod 60) Mod 12) & ""'生成农历月、日 => NongliDayStrIf (curMonth < 1) Then NongliDayStr = "闰" & MonName(-1 * curMonth)Else NongliDayStr = MonName(curMonth)End IfNongliDayStr = NongliDayStr & "月"NongliDayStr = NongliDa

38、yStr & DayName(curDay) & ")"calendar = NongliStr & NongliDayStrEnd FunctionExcel networkdays函数不能用是怎么回事啊-在“工具”菜单上,单击“加载宏”。 在“可用加载宏”列表中,选中“分析工具库”框,再单击“确定”。 就有了以 2009-4-23 为例,100天后是2009-8-1,你想得到什么结果,100天后的日期2009-8-1?还是100天后是1号?假设日期放在A1=A1+100  结果为日期2009-8-1=DAY(A1+100) 结

39、果为1顺便说一下,日期是一个序列号,以1900年日期系统为例,数字1就是1900-1-1,2就是1900-1-2,其他类推,因此可以直接加减。时间就是小数部分,如0.5,就是12小时,数字1.5就是1900-1-1 12:00excel中日期是2014-9-1,用什么函数可以直接显示年月转换下=TEXT("2014-9-1","YYYY-MM")可以直接引用的,比如在A1单元格=TEXT(A1,"YYYY-MM") =TEXT(A1,"YYYYMM") = TEXT(A1,"YYYY+MM")日期与时间函数日期函数函数名函数说明语法DATE返回代表特定日期的系列数。DATE(year,month,day)DATEDIF计算两个日期之间的天数、月数或年数。DATEDIF(start_date,end_date,unit)DATEVALUE函数 DATEVALUE 的主要功能是将以文字表示的日期转换成一个系列数。DATEVALUE(date_text)DAY返回以系列数表示的某日期的天数,用整数 1 到 31 表示。DAY(serial_number)DAYS360按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),返回两日期间相差的天数。DAYS360(st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论