DATEDIF函数实例

上传人:灯火****19 文档编号:101997433 上传时间:2022-06-06 格式:DOCX 页数:15 大小:59.82KB
收藏 版权申诉 举报 下载
DATEDIF函数实例_第1页
第1页 / 共15页
DATEDIF函数实例_第2页
第2页 / 共15页
DATEDIF函数实例_第3页
第3页 / 共15页
资源描述:

《DATEDIF函数实例》由会员分享,可在线阅读,更多相关《DATEDIF函数实例(15页珍藏版)》请在装配图网上搜索。

1、DATEDIF函数计算两个日期间的年数、月数或天数(DATEDIF函数就是EXCEL中的一个隐藏函数,在函数向导中就是找不到的,可直接输入使用,用于计算年 龄、工龄非常好)语法:DATEDIF(date1,date2,code)datel:起始日期date2:结束日期code:CODE返回值Y这期间的完全年数M这期间的完全月数D这期间的完全天数MD起始日期与结束日期的同月间隔天数。日期的月数与天数被忽略。YM起始日期与结束日期的间隔月数。日期的年数与天数被忽略。YD起始日期与结束日期的同年间隔天数。日期的年数被忽略。例1:计算两个日期间的年数、月数或天数起始日期1980-6-14在A5,结束日

2、期B52011-9-10 在B5,在C5中输入公式=DATEDIF(A5,B5,y) 可计算出 相隔年数,返回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。这个人的年龄可用以下公式连接成文本:=年龄就是&DATEDIF(C13,TODAY(),y)&岁&DATEDIF(C13,TODAY(),

3、ym)& 个月零&DATEDIF(C13,TODAY(),md)& 天返回:年龄就是43岁9个月零10天。在Excel 2003中,日期函数DAYS360与DATEDIF的起始日期与结束日期两个参数,如果要在函数中直接输入,必须使用DATE(年,月,日)函数输入,不能以文本形式输入,否则出错。例如,要用上述两个函数计算起始 日期为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天进行计

4、算(即按平均每月30天计算,后者按实际天数计算。当然,如果上述两个日期函数引用的开始日期与结束日期两个参数可以通过引用单元格地址获得,则可以直接引用相应单元格的地址即可DATEDIF函数实例:计算总借款天数与还款剩余天数上例我们将了利用 excel的DATEDIF函数来自动追加工龄工资。本例我们讲解利用 DATEDIF函数来计算借款天数与还款剩余天数。我们使用DATEDIF函数,根据借款日期与还款日期计算出总借款天数与还款剩余天数。如图所示:A BCDE1 F1借款单位借款金额惜欷日期应还日期总借款天数还款剩余天数2天人科技200002003-3-182010-10-15521043大堂实业新

5、gQ1008-7-212010-9-21r T92944金丰软件140002009-6-12010-8-1426445所娱容W000200ST2T2010-7-2560138 1T部落瑞加w.ittribal* 口 七口1n提供此实例选中E2单元格,输入公式:=DATEDIF(C2,D2,D),就求出了天人科技的总借款天数。向下拖动,进行公式填充,即可快速计算出另外单位的借款天数。选中F2单元格,输入公式kDATEDIF (TODAY(),D2, D),就求出了天人科技的还款剩余 天数。向下拖动,进行公式填充,即可快速计算出另外单位的还款剩余天数。days360(2004-2-25,2004-

6、3-2)=7, 为什么会等于 7 呢?而不等于 6 呢?days360 按照一年 360 天的算法 (每个月以 30 天计 ,一年共计12 个月 )=DATEDIF(2004-2-25,2004-3-2,d) 或=2004-3-2-2004-2-25DATEIF() 就是宏函数、可以方便地求相隔月 年 日、不过主要还就是用在日以外的、DATEDIF 就是 Excel 中的一个隐藏函数,在函数向导中就是找不到的。此函数最初就是Lotus 1-2-3里面的函数,微软为了使Excel 与 Lotus 1-2-3 兼容而采用了它 ,但不知为何没写入文字资料。有人说就是与知识产权有关。它用于返回两个日期

7、参数的差值。 其语法为 :=DATEDIF(Date1,Date2,Interval)其中 date1 必须早于 date2, 否则返回 #NUM!参数 Interval 可以在 y、 m、 d 、 ym 、 yd 、 md 六个里面选。前三个 (y 、 m、 d) 当然表示要求返回两个日期相差的年、月、日数。后三个可能需要较多解释:ym表示忽略年份的差别,只计所差的月份(即视两日期在同一年)。yd 表示忽略年份的差别,只计所差的天数(即视两日期在同一年) 。md 表示忽略年份与月份的差别,只计所差的天数(即视两日期为同年同月 )。要善于利用论坛的搜索功能。有什么函数不太清楚的 ,可在论坛上搜

8、索。matsumi 2004-3-21 10:11=DATEDIF(2004-2-25,2004-3-2,d) 就是 6 天=2004-3-2-2004-2-25 就是 6 天= 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 日与 2002 年 8 月 15 日之间 有 440 天。DATEDIF(2001/6/1,2002/8/15,YD) 等于 75,

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

10、。其她事情您不用担心,Excel把数字1当做1900-01-01,今天就是数字 40384,即从1900年1月1日算起,过去40384天了。农历 VBA如何使用 VBA1 在 EXCEL 里工具栏上右击,选控件工具箱2 点里面的按钮, 在工作表上添加3 右击新加的按钮,查瞧代码按 ALT+F11 再 插入 模块把下面的代码制复制到模块中,然后在 B1 中输入 :=calendar(A1)假设日期在A1 。Option ExplicitDim WeekName(7), MonthAdd(11), NongliData(120), TianGan(9), DiZhi(11), ShuXiang(1

11、1), 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 = gridyear = Mid(grid_date, 1, 4)num1 = InStr(grid_date

12、, -)num2 = InStr(6, grid_date, -)If (num2 - num1) = 3 Thenmonth = Mid(grid_date, 6, 2)day = Mid(grid_date, 9, 2)Elsemonth = Mid(grid_date, 6, 1)day = Mid(grid_date, 8, 2)End If星期名WeekName(0) = * WeekName(1) = 星期日 WeekName(2) = 星期一 WeekName(3) = 星期二 WeekName(4) = 星期三 WeekName(5) = 星期四 WeekName(6) = 星

13、期五WeekName(7) = 星期六 天干名称TianGan(0) = 甲 TianGan(1) = 乙TianGan(2) = 丙TianGan(3) = 丁TianGan(4) = 戊TianGan(5) = 己TianGan(6) = 庚TianGan(7) = 辛TianGan(8) = 壬TianGan(9) = 癸 地支名称DiZhi(0) = 子DiZhi(1) = 丑DiZhi(2) = 寅DiZhi(3) = 卯DiZhi(4) = 辰DiZhi(5) = 巳 DiZhi(6) = 午DiZhi(7) = 未DiZhi(8) = 申 DiZhi(9) = 酉DiZhi(10

14、) = 戌DiZhi(11) = 亥 属相名称ShuXiang(0) = 鼠 ShuXiang(1) = 牛ShuXiang(2) = 虎ShuXiang(3) = 兔ShuXiang(4) = 龙ShuXiang(5) = 蛇ShuXiang(6) = 马ShuXiang(7) = 羊 ShuXiang(8) = 猴 ShuXiang(9) = 鸡 ShuXiang(10) = 狗 ShuXiang(11) = 猪农历日期名DayName(0) = *DayName(1) = 初一 DayName(2) = 初二 DayName(3) = 初三 DayName(4) = 初四 DayName

15、(5) = 初五 DayName(6) = 初六 DayName(7) = 初七 DayName(8) = 初八 DayName(9) = 初九 DayName(10) = 初十DayName(11) = 十一DayName(12) = 十二DayName(13) = 十三DayName(14) = 十四DayName(15) = 十五DayName(16) = 十六七八九十DayName(17) =DayName(18) =DayName(19) =DayName(20) =DayName(21) =DayName(22) = 二十二DayName(23) = 二十三DayName(24)

16、= 二十四DayName(25) = 二十五DayName(26) = 二十六DayName(27) = 二十七DayName(28) = 二十八DayName(29) = 二十九DayName(30) = 三十 农历月份名MonName(0) = *MonName(1) = 正MonName(2) = 二MonName(3) = 三MonName(4) = 四 MonName(5) = 五MonName(6) = 六MonName(7) = 七MonName(8) = 八MonName(9) = 九MonName(10) = 十MonName(11) = 十一 MonName(12) = 腊

17、 公历每月前面的天数MonthAdd(0) = 0MonthAdd(1) = 31MonthAdd(2) = 59MonthAdd(3) = 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) = 1748No

18、ngliData(4) = 267701NongliData(5) = 694NongliData(6) = 2391NongliData(7) = 133423NongliData(8) = 1175NongliData(9) = 396438NongliData(10) = 3402NongliData(11) = 3749NongliData(12) = 331177NongliData(13) = 1453NongliData(14) = 694NongliData(15) = 201326NongliData(16) = 2350NongliData(17) = 465197Nong

19、liData(18) = 3221NongliData(19) = 3402NongliData(20) = 400202NongliData(21) = 2901NongliData(22) = 1386NongliData(23) = 267611NongliData(24) = 605NongliData(25) = 2349NongliData(26) = 137515NongliData(27) = 2709NongliData(28)NongliData(29)NongliData(30)NongliData(31)NongliData(32)NongliData(33)Nongl

20、iData(34)NongliData(35)NongliData(36)NongliData(37)NongliData(38)NongliData(39)NongliData(40)NongliData(41)NongliData(42)NongliData(43)NongliData(44)NongliData(45)NongliData(46)NongliData(47)NongliData(48)NongliData(49)NongliData(50)NongliData(51)NongliData(52)NongliData(53)NongliData(54)NongliData(

21、55)NongliData(56)NongliData(57)NongliData(58)NongliData(59)NongliData(60)NongliData(61)NongliData(62)NongliData(63)NongliData(64)NongliData(65)NongliData(66)NongliData(67)NongliData(68)NongliData(69)NongliData(70)464533 17382901 330421 12422651 199255 132352970637331706 39876227411206 26743826471318

22、 204070 347746165313862413 33007711972637 2688773365 53110929002922 39804223951179 267415 263566106717011748 39877227422391 33003111751611NongliData(71)NongliData(72) = 200010NongliData(73) = 3749NongliData(74) = 527717NongliData(75) = 1452NongliData(76) = 2742NongliData(77) = 332397NongliData(78) =

23、 2350NongliData(79) = 3222NongliData(80) = 268949NongliData(81) = 3402NongliData(82) = 3493NongliData(83) = 133973NongliData(84) = 1386NongliData(85) = 464219NongliData(86) = 605NongliData(87) = 2349NongliData(88) = 334123NongliData(89) = 2709NongliData(90) = 2890NongliData(91) = 267946NongliData(92

24、) = 2773NongliData(93) = 592565NongliData(94) = 1210NongliData(95) = 2651NongliData(96) = 395863NongliData(97) = 1323NongliData(98) = 2707NongliData(99) = 265877生成当前公历年、月、日= GongliStrcurYear = yearcurMonth = monthcurDay = dayGongliStr = curYear & 年 If (curMonth 10) ThenGongliStr = GongliStr & 0 & cu

25、rMonth & 月 ElseGongliStr = GongliStr & curMonth & 月 End IfIf (curDay 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 4)

26、= 0 And curMonth 2) ThenTheDate = TheDate + 1End If计算农历天干、地支、月、日isEnd = 0m = 0DoIf (NongliData(m) 4095) Thenk = 11Elsek = 12End Ifn = kDoIf (n 0) ThenExit DoEnd If获取NongliData(m) 的第 n 个二进制位的值bit = NongliData(m)For i = 1 To n Step 1bit = Int(bit / 2)Nextbit = bit Mod 2If (TheDate (Int(NongliData(m) /

27、 65536) + 1) Then curMonth = curMonth - 1End IfEnd If生成农历天干、地支、属相 = NongliStrNongliStr = 农历 & TianGan(curYear - 4) Mod 60) Mod 10) & DiZhi(curYear - 4) Mod 60)Mod 12) & 年NongliStr = NongliStr & ( & ShuXiang(curYear - 4) Mod 60) Mod 12) & 生成农历月、日 = NongliDayStrIf (curMonth 1) ThenNongliDayStr = 闰 & M

28、onName(-1 * curMonth)ElseNongliDayStr = MonName(curMonth)End IfNongliDayStr = NongliDayStr & 月 NongliDayStr = NongliDayStr & DayName(curDay) & )calendar = NongliStr & NongliDayStrEnd FunctionExcel networkdays函数不能用就是怎么回事啊-在工具”菜单上,单击加载宏在可用加载宏”列表中,选中分析工具库”框,再单击确定”。就 有了以2009-4-23为例,100天后就是2009-8-1,您想得到什

29、么结果,100天后的日期2009-8-1 ?还就是100天后就是1号?假设日期放在A1=A1+100 结果为日期 2009-8-1=DAY(A1+100) 结果为 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

30、,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个月

31、), 返回两日期间相差的天数。DAYS360(start_date,end_date,method)EDATE返回指定日期(start_date) 之前或之后指定月份数的日期系列数。使用函数EDATE 可以计算与发行日处于一月中同一天的到期日的日期。EDATE(start_date,months)EOMONTH返回 start-date 之前或之后指定月份中最后一天的系列数。用函数EOMONTH 可计算特定月份中最后一天的时间系列数 ,用于证券的到期日等计算。EOMONTH(start_date,months)MONTH返回以系列数表示的日期中的月份。月份就是介于1(一月)与 12( 十二月)

32、之间的整数。MONTH(serial_number)NETWORKDAYS返回参数start-data 与end-data 之间完整的工作日数值。工作日不包括周末与专门指定的假期NETWORKDAYS(start_date,end_date,holidays)NOW返回当前日期与时间所对应的 系列数。NOW( )TODAY返回当前日期的系列数,系列数就是 Microsoft Excel 用于日期与时间计算的日期-时间代TODAY( )码。WEEKDAY返回某日期为星期几。默认情WEEKDAY(serial_number,return_type)况下 ,其值为1(星期天 )到7(星期六)之间的整

33、。WEEKNUM返回一个字,该字代表一年WEEKNUM(serial_num,return_type)中的第几周。WORKDAY返回某日期(起始日期)之前或WORKDAY(start_date,days,holidays)之后相隔指定工作日的某一日期的日期值。工作日不包括周末与专门指定的假日。YEAR返回某日期的年份。返回值为 YEAR(serial_number) 1900 到 9999 之间的整。YEARFRAC返回 start_date 与 end_date YEARFRAC(start_date,end_date,basis) 之间的天占全年天的百分比。时间函HOUR返回时间值的小时。

34、 即一个介于0 HOUR(serial_number)(12:00 A、 M、) 到 23 (11:00 P 、M、 )之间的整。MINUTE返回时间值中的分钟。 即一个介于0 MINUTE(serial_number)到 59 之间的整。SECOND返回时间值的秒。 返回的秒为0 SECOND(serial_number)至 59 之间的整。TIME返回某一特定时间的小值, 函TIME(hour,minute,second)TIME 返回的小值为从0 到 0 、99999999 之间的值, 代表从0:00:00 (12:00:00 A 、 M) 到23:59:59 (11:59:59 P 、 M) 之间的时间。TIMEVALUE返回由文本串所代表的时间的小TIMEVALUE(time_text值。该小值为从0 到 0 、999999999 的值,代表从0:00:00 (12:00:00 AM) 到23:59:59 (11:59:59 PM) 之间的时间。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!