计算两个日期之间的差值
若要计算两个日期之间的差值,请使用DATEDIF函数。首先将开始日期放入一个单元格,并将结束日期置于另一个单元格。然后键入一个如下所示的公式。警告: 如果Start_date大于End_date,结果将会是#NUM!。
以天为单位的差值在此示例中,开始日期在单元格D9中,结束日期在E9中。公式在F9中。“d”会返回两个日期之间的完整天数。
以周为单位的差值在此示例中,开始日期在单元格D13中,结束日期在E13中。“d”会返回天数。但请注意结尾处的/7。这会将天数除以7,因为一周有7天。请注意,此结果也需要设置为数值格式。按Ctrl+1。然后单击“数值”>“小数位数:2”。
以月为单位的差值在此示例中,开始日期在单元格D5中,结束日期在E5中。在公式中,“m”会返回两个日期之间的完整月数。
以年为单位的差值在此示例中,开始日期在单元格D2中,结束日期在E2中。“y”会返回两个日期之间的完整年数。
以累积的年数、月数和天数计算年龄还可以计算年龄或某人的服务时间。结果可能类似于“2年,4个月,5天”。
1.使用DATEDIF求得总年数。在此示例中,开始日期在单元格D17中,结束日期在E17中。在公式中,“y”会返回两个日期之间的完整年数。
2.再次使用DATEDIF,并附带“ym”,以求得月数。在另一个单元格中,使用带有“ym”参数的DATEDIF公式。“ym”会返回过去整整一年剩余的月数。
3.使用其他公式求得天数。现在,我们需要求得剩余的天数。我们将通过编写其他类型的公式来实现此目的,如上所示。此公式从单元格E17中的原始结束日期(5/6/2016)减去当月第一天(5/1/2016)。其原理如下:首先,DATE函数会创建日期5/1/2016。DATE函数使用单元格E17中的年份和单元格E17中的月份创建日期。1表示该月的第一天。DATE函数的结果是5/1/2016。然后,从单元格E17中的原始结束日期(即5/6/2016)减去该日期。5/6/2016减5/1/2016得5天。
警告: 不建议使用DATEDIF”md”参数,因为它可能会得出不准确的计算结果。
4.可选方案:将三个公式合并为一个。可以将所有三个计算放入一个单元格中,如本例所示。使用&符号、引号和文本。这需要输入一个较长的公式,但它至少将所有内容都集中在一起。提示:按ALT+ENTER可在公式中放入换行符。这将使其更易于阅读。此外,如果看不到完整的公式,请按CTRL+SHIFT+U。
下载我们的示例你可以下载包含本文中所有示例的示例工作簿。可以沿用其中的公式,也可以自行创建。下载日期计算示例
其他日期和时间计算
计算当天和其他日期之间的差值如上所述,DATEDIF函数可计算开始日期和结束日期之间的差值。但是,你也可以在公式中使用TODAY()函数,而不是键入具体的日期。当你使用TODAY()函数时,Excel将使用你计算机的当前日期作为日期。请记住,未来某一天再次打开该文件时,该日期将会发生变化。
请注意,在撰写本文时,日期是2016年10月6日。
计算工作日天数(包含或不包含假日)如果要计算两个日期之间的工作日天数,请使用NETWORKDAYS.INTL函数。此外,还可以让其排除周末和假日。
准备阶段:确定是否要排除假日日期。如果要排除,请在单独的区域或工作表中键入假日日期列表。将每个假日日期置于各自的单元格中。然后选择这些单元格,选择“公式”>“定义名称”。将该范围命名为MyHolidays,然后单击“确定”。然后按照下面的步骤创建公式。
1.键入开始日期和结束日期。在此示例中,开始日期在单元格D53中,结束日期在E53中。
2.在另一个单元格中,键入如下公式:键入类似于上述示例的公式。公式中的1将星期六和星期日确立为周末,并从总计中排除。
备注:Excel2007没有NETWORKDAYS.INTL函数。但是,它有NETWORKDAYS。上述示例在Excel2007中会显示为:=NETWORKDAYS(D53,E53)。你不会指定1,因为NETWORKDAYS假定周末为星期六和星期日。
3.如有必要,请更改1。如果星期六和星期日不是周末,则将1更改为IntelliSense列表中的其他数字。例如,2将星期日和星期一确立为周末。
如果你使用的是Excel2007,请跳过此步骤。Excel2007的NETWORKDAYS函数始终假定周末为星期六和星期日。
4.键入假日范围名称。如果你在上面的“准备阶段”部分中创建了假日范围名称,请将其按如下所示在末尾键入。如果没有假日,可省略逗号和MyHolidays。如果你使用的是Excel2007,则上面的示例则改为:=NETWORKDAYS(D53,E53,MyHolidays)。
提示:如果不想引用假日范围名称,还可以改为键入一个范围,如D35:E:39。或者,你可以在公式中键入每个假日。例如,如果你的假日是在2016年1月1日和2日,则应按如下方式键入:=NETWORKDAYS.INTL(D53,E53,1,{“1/1/2016″,”1/2/2016”})。在Excel2007中,则这样显示:=NETWORKDAYS(D53,E53,{“1/1/2016″,”1/2/2016”})
计算经过的时间可以通过从一个时间中减去另一个时间来计算经过的时间。首先将开始时间放入一个单元格,并将结束时间置于另一个单元格。请确保键入完整的时间,包括小时和分钟数,并在AM或PM之前留一个空格。操作方式如下:
1.键入开始时间和结束时间。在此示例中,开始时间在单元格D80中,结束时间在E80中。请确保键入小时和分钟数,并在AM或PM之前留一个空格。
2.设置“h:mmAM/PM”格式。选择这两个日期,然后按CTRL+1(或Mac上的+1)。请确保选择“自定义”>“h:mmAM/PM”(如果尚未设置)。
3.将两个时间相减。在另一个单元格中,从结束时间单元格中减去开始时间单元格。
4.设置“h:mm”格式。按CTRL+1(或Mac上的+1)。选择“自定义”>“h:mm”,以便结果中不包括AM和PM。
计算两个日期和时间之间的经过时间若要计算两个日期和时间之间的时间,只需从一个日期和时间中减去另一个日期和时间。但是,必须对每个单元格应用格式设置,以确保Excel返回所需的结果。
1.键入两个完整的日期和时间。在一个单元格中,键入完整的开始日期/时间。在另一个单元格中,键入完整的结束日期/时间。每个单元格都应包含月、日、年、小时和分钟数,并在AM或PM之前留一个空格。
2.设置“2012-3-141:30PM”格式。选择这两个单元格,然后按CTRL+1(或Mac上的+1)。然后选择“日期”>“2012-3-141:30PM”。这不是你要设置的日期,只是显示格式的示例。请注意,在Excel2016之前的版本中,此格式可能有不同的示例日期,如2001/3/141:30PM。
3.将两者相减。在另一个单元格中,从结束日期/时间中减去开始日期/时间。结果可能会显示为数字和小数。你将在下一步中修复此问题。
4.设置“[h]:mm”格式。按CTRL+1(或Mac上的+1)。选择“自定义”。在“类型”框中,键入“[h]:mm”。
相关主题DATEDIF函数NETWORKDAYS.INTL函数NETWORKDAYS更多日期和时间函数计算两个时间之间的差值
绛旓細"YD" start_date 涓 end_date 鏃ユ湡涓ぉ鏁扮殑宸傚拷鐣ユ棩鏈熶腑鐨勫勾銆備笁銆佸疄渚嬭鏄 瀹炰緥1锛氶鐩細 璁$畻鍑虹敓鏃ユ湡涓1973-4-1浜虹殑骞撮緞 鍏紡锛 =DATEDIF("1973-4-1",TODAY(),"Y")缁撴灉锛 33 绠瑕佽鏄 褰撳崟浣嶄唬鐮佷负"Y"鏃,璁$畻缁撴灉鏄涓や釜鏃ユ湡闂撮殧鐨骞存暟.瀹炰緥2锛氶鐩細 璁$畻鏃ユ湡涓1973-4-1鍜屽綋鍓...
绛旓細鍦╡xcel浣跨敤涓紝濡傛灉鎯璁$畻涓や釜鏃ユ湡鍙傛暟鐨勫樊鍊锛岃鐢ㄤ粈涔堝嚱鏁板拰濡備綍浣跨敤鍛?浠婂ぉ锛屽皬缂栧氨鏁欏ぇ瀹跺湪Excel涓繘琛岃绠椾袱涓棩鏈熷弬鏁板樊鍊肩殑鎿嶄綔鎶宸с侲xcel涓繘琛岃绠椾袱涓棩鏈熷弬鏁板樊鍊肩殑鎿嶄綔姝ラ 鍦╡xcel涓绠椾袱涓棩鏈熷弬鏁扮殑宸硷紝鎴戜滑闇瑕佷娇鐢╠ateif鍑芥暟锛欴ateif(date1锛宒ate2锛屸測鈥)dateif鍑芥暟鐨勪娇鐢ㄦ牸寮忓鍥...
绛旓細鍏蜂綋瑙e喅鏂规硶鎿嶄綔姝ラ濡備笅锛1銆侀鍏堝缓绔嬩竴绉嶈〃鏍硷紝杈撳叆鍛樺伐鐨勫鍚嶄互鍙婂叆鑱屾棩鏈熺瓑淇℃伅銆2銆佺敤dateif鍑芥暟姹備袱涓棩鏈熶箣闂寸殑宸锛孻浠h〃鐨勬槸缁撴灉杩斿洖鍊兼槸骞存暟锛屽叾瀹屾暣鐨勮绠楀叕寮忋3銆佸叕寮忚緭鍏ュ畬姣曚箣鍚庡崟鍑"enter"閿紝鍙互寰楀埌濡備笅鐨勫伐榫勮绠楃粨鏋溿4銆佹媺鍔ㄥ~鍏呮焺锛屽彲浠ュ畬鎴愬叾瀹冨崟鍏冩牸鐨勮绠楋紝鍏惰绠楃粨鏋滃涓嬫墍绀...
绛旓細1銆侀鍏堝湪excel琛ㄦ牸涓緭鍏ヤ袱鍒楁暟鎹紝闇瑕佸皢B鍒楃殑鏁版嵁鍑忓幓A鍒楁暟鎹殑缁撴灉鏄剧ず鍦–鍒椾腑銆2銆佸湪C1鍗曞厓鏍间腑杈撳叆璁$畻鍏紡锛=B1-A1銆3銆佺偣鍑诲洖杞﹀嵆鍙緱鍒拌绠楃粨鏋滐紝鍙互鐪嬪埌B1-A1鐨勭粨鏋滀负鈥40鈥濄4銆佹鏃跺彲浠ュ弻鍑籆1鍗曞厓鏍煎彸涓嬭鐨勭豢鑹插渾鐐癸紝鍗冲彲鑷姩鍚戜笅濉厖鍏紡寰楀埌鎵归噺鐨勮绠楃粨鏋溿
绛旓細鈥滀娇鐢╡xcel鍑芥暟璁$畻涓や釜鏃ユ湡鍙傛暟鐨勫樊鍊鈥濈殑鎿嶄綔姝ラ鏄細1銆佷互Excel 2016涓轰緥锛屾墦寮Excel宸ヤ綔琛;2銆佺敱宸茬煡鏉′欢鍙煡锛岄渶瑕佹牴鎹瓵鍒楃殑寮濮嬫棩鏈熷拰B鍒楃殑缁撴潫鏃ユ湡锛璁$畻涔嬮棿闂撮殧鐨澶╂暟锛屽彲閫氳繃DATEDIF鍑芥暟姹傝捣姝鏃ユ湡鐨闂撮殧澶╂暟锛屼篃鍙洿鎺ラ氳繃缁撴潫鏃ユ湡鍑忓幓寮濮嬫棩鏈燂紝寰楀埌澶╂暟;3銆佽缃瓹鍒楀崟鍏冩牸鏍煎紡涓衡滃父瑙勨濓紝...
绛旓細杩樺彲浠ラ変腑鍥句腑鎵閫夌殑鍗曞厓鏍硷紝鐒跺悗鐐瑰嚮榧犳爣鍙抽敭锛屽啀閫夋嫨寮瑰嚭鑿滃崟涓殑璁剧疆鍗曞厓鏍兼牸寮忛夐」銆5.绗浜姝ワ紝鍦ㄥ崟鍏冩牸鏍煎紡绐楀彛涓紝鐐瑰嚮宸︿晶鐨勬椂闂存爣绛撅紝鐒跺悗鍦ㄥ彸渚ч夋嫨涓涓悎閫傜殑鏃堕棿鏍煎紡銆5.绗笁姝ワ紝鍦鏃堕棿宸鍗曞厓鏍间腑锛岃緭鍏 =TEXT(F3-E3,d澶﹉鏃秏鍒)銆6. 绗洓姝ワ紝鎸夊洖杞﹂敭鍗冲彲璁$畻鍑烘椂闂村樊銆
绛旓細闇瑕佹敞鎰忕殑鏄紝浠ヤ笂鍏紡鍩轰簬涓や釜鏃堕棿閮芥槸Excel璇嗗埆鐨勬棩鏈熷拰鏃堕棿鏍煎紡锛屽鏋滄椂闂存牸寮忎笉姝g‘锛屽彲浠ヤ娇鐢ㄢ滄枃鏈浆鍒椻濇垨鍏朵粬鏂规硶杩涜鏍煎紡杞崲銆傚彲浠ヤ娇鐢‥xcel鍑芥暟DATEDIF鏉ヨ绠椾袱涓椂闂翠箣闂寸殑闂撮殧鍒嗛挓鏁般侲xcel涓殑DATEDIF鍑芥暟鐢ㄤ簬璁$畻涓や釜鏃ユ湡涔嬮棿鐨勫樊鍊锛屽彲浠ョ簿纭埌绉掋佸垎銆佹椂銆佸ぉ銆佸懆銆佹湀銆佸搴﹀拰骞淬傚湪杩欓噷锛...
绛旓細鍦‥xcel涓紝璁$畻涓や釜鏃ユ湡鐩稿樊鐨勬湀浠芥暟锛屽彲浠ラ氳繃浣跨敤`DATEDIF`鍑芥暟鏉ュ疄鐜帮紝杩欎釜鍑芥暟涓撻棬鐢ㄤ簬璁$畻涓や釜鏃ユ湡涔嬮棿鐨勫樊鍊锛屾敮鎸佸勾銆佹湀銆佹棩鐨勮绠椼備笉杩囷紝`DATEDIF`鍑芥暟鐩存帴杩斿洖鐨勬槸涓や釜鏃ユ湡涔嬮棿瀹屾暣鐨勬湀浠芥暟锛屼笉鑰冭檻鏃ユ湡鐨勫叿浣撳ぉ鏁板樊寮傦紝鍗冲畠璁$畻鐨勬槸璧峰鏃ユ湡鍒扮粨鏉熸棩鏈熶箣鍓嶅畬鏁寸殑鏈堜唤鏁般備緥濡傦紝瑕佽绠楁棩鏈焋A1`锛...
绛旓細鍒╃敤鏃ュ巻鍑芥暟锛堢紪绋嬮鍩燂級鍦ㄧ紪绋嬭瑷涓紝閫氬父鏈夊唴缃殑鍑芥暟鎴栨柟娉曟潵璁$畻鏃ユ湡宸備緥濡傦紝鍦≒ython涓紝鍙互浣跨敤datetime妯″潡鏉璁$畻涓や釜鏃ユ湡闂寸殑骞翠唤宸傝繖娑夊強鍒板鏉傜殑鍐呴儴绠楁硶锛屼絾鍙互鎻愪緵闈炲父绮剧‘鐨勭粨鏋滐紝鍖呮嫭瀵归棸骞村拰涓嶅悓鏈堜唤澶╂暟宸紓鐨勮嚜鍔ㄨ皟鏁淬備娇鐢ㄨ繎浼煎叕寮 涓轰簡绠鍖栬绠楋紝鏈夋椂浼氫娇鐢ㄤ竴浜涜繎浼煎叕寮忔潵浼扮畻骞翠唤宸...
绛旓細涓句釜渚嬪瓙锛屼究浜庤В閲娿傛湁璁″垝鏃ユ湡銆佸畬宸ユ棩鏈燂紝瑕佹眰寤舵湡澶╂暟=绛変簬涓や釜鏃ユ湡宸锛屽涓嬭〃锛1銆丆2=B2-A2锛屽緱鍒板嵆宸笺2銆丏AYS360鍑芥暟锛氭寜鐓т竴骞360澶╃殑绠楁硶锛堟瘡涓湀浠30澶╄锛屼竴骞村叡璁12涓湀锛夛紝杩斿洖涓ゆ棩鏈闂寸浉宸殑澶╂暟銆侱AYS360(start_date锛宔nd_date,method)C3=DAYS360(A3,B3)3銆丯ETWORKDAYS锛氳繑鍥炲弬鏁...