- ?
常用的Excel日期函数
海冬
展开
Excel日期大家都会用,但是你知道Excel中有多少日期和时间函数吗?Excel为我们提供了大约20个日期和时间函数,这些函数对于处理表格中的日期数据都是非常有用的。下面介绍几个常用的Excel日期函数及其实际应用案例。
(1)处理动态日期
在处理动态日期时,可以使用TODAY函数,该函数会得到计算机系统的当前日期。这个函数在处理动态日期表头或者在动态汇总计算时,是非常有用的。
图1所示是一个销售流水账,现在要求动态计算截止到今天的累计销售额。单元格E2和E3的计算公式分别为:
图1
单元格E2:=TODAY();
单元格E3:=SUMPRODUCT((A3:A37<=TODAY())*133:B37)。
(2)拆分日期
要把一个日期拆分成年、月、日数字。可以使用YEAR函数、MONTH函数和DAY函数。
以案例1—24中的数据为例,要计算上个月的销售总额,则单元格E4中的计算公式如下:
=SUMPRODUCT((MONTH(A3:A37)=MONTH(TODAY())-1)*B3:B37)
结果如图2所示。
图2
(3)合并日期
如果要把3个分别表示年、月、日的数字组合成一个日期,就需要使用DATE函数。例如,年月、日3个数字分别是2010、4、30,则日期公式为:
=DATE(2010,4,30)
(4)判断周次
如果要判断某个日期是该年份的第几周,可以使用WEEKNUM函数,其语法为:
=WEEKNUM(serial_num,return_type)
=WEEKNUM(日期,类别)
当参数return_type省略或为1时,表示将星期日作为一个星期的起始日;当参数return_type为2时,表示将星期一作为一个星期的起始日。
例如:2010年4月30日是2010年的WEEKNUM("2010-4-30".2)=18周
以上一个案例中的数据为例,要计算本周和上周的销售总额,则需要插入一个辅助列。以计算出每个日期对应的周次数,即在单元格C3中输入下面的公式,并复制到最后一行:
=WEEKNUM(A3,2)
然后就可以根据C列的周次数字进行判断,计算本周和上周的销售总额,公式如下:
单元格F3:=SUMIF(C:C.WEEKNUM(TODAY()。2)。B:B);
单元格F4:=SUMIF(C:C.WEEKNUM(TODAY()。2)-1,B:B)。
计算结果如图3所示。
图3
(5)判断星期几
要判断某个日期是星期几,需要使用WEEKDAY函救。这个函数常常用在设计日程安排表或者制作相关的报表方面。
WEEKDAY函数用于获取某日期为星期几。默认情况下。其值为1(星期日)—7 (星期六)之间的整数。其语法如下:
=WEEKDAY(serial_number, return_type)
=WEEKDAY(日期,[类型])
参数serial_number为日期序列号。可以是日期数据或日期数据单元格的引用。
参数return_type为确定返回值类型的数字。如下所示:
参数return_type的值 星期说明
1或省略 数字1表示星期日。2表示星期……7表示星期六
2 数字1表示星期一。2表示星期二……7表示星期日
3 数字0表示星期一。1表示星期二……6表示星期日
例如:
=WEEKDAY("2010-4-10",1)=7
=WEEKDAY("2010-4-10",2}=6
从我国的习惯来说。将参数return_type设置为2是恰当的。
以上节中的数据为例。要了解2010年4月份每个星期几的销售分布。这样可以了解商品在星期几销售较好或者较差。如图4所示,相关单元格的计算公式分别为:
图4
单元格E3:=SUMPRODuCT((MONTH(A3:A37)=4)*(WEEKDAY(A3:A37,2)=1)*B3:B37);
单元格E4:=SUMPRODUCT((MONTH(A4:A38)=4)*(WEEKDAY(A4:A38,2)=2)*B4:B38):
单元格E5:=SUMPRODUCT((MONTH(A5:A39)=4)*(WEEKDAY(A5:A39,2)=3)*B5:B39);
单元格E6:=SuMPRODUCT((MONTH(A6:A40)=4)*(WEEKDAY(A6:A40,2)=4)*B6:B40);
单元格E7:=SUMPRODUCT((MONTH(A7:A41)=4)*(wEEKDAY(A7:A41,2)=5)*B7:B41);
单元格E8:=SUMPRODUCT((MONTH(A8:A42)=4)*(WEEKDAY(A8:A42,2)=6)*B8:B42);
单元格E9:=SUMPR00uCT((MONTH(A9:A43)=4)*(WEEKDAY(A9:A43,2)=7)*B9:B43)。
(6)计算某个具体日期
当需要计算某个具体的日期时。例如计算指定日期往前或往后几个月的日期。或者计算指定日期往前或往后几个月的特定月份的月底日期。就可以使用EDATE函数和EOMONTH函数。
EDATE函数用于获取指定日期往前或往后几个月的日期。其语法如下:
=EDATE(start_date,months)
=EDATE(开始日期,几个月)
例如:
2010年4月30日之后3个月的日期:=EDATE("2010-4-30".3)。为2010-7-30;
2010年4月30日之前3个月的日期:=EDATE("2007-4-30".一3)。为2010-1-30。
EOMONTH函数用于获取指定日期往前或往后几个月的特定月份的月底日期。其语法为:
=EOMONTH(start_date,months)
=EOMONTH(开始日期,几个月)
例如:
2010年4月30日之后3个月的月底日期:=EOMONTH("2010-4-30",3)。为2010—7—31:
2010年4月30日之前3个月的月底日期:=EOMONTH("2010-4-30".-3)。为2010-1-31:
获取当月量后一天的日期:=EOMONTH(TODAY()。0)。
图5所示是计算合同到期日的表格。其中单元格D2中的计算公式为:
=EDATE(B2,C2*12)-1
图5
今天我们学习了常用的Excel日期函数,其中列举了处理动态日期、拆分日期、合并日期、判断周次、判断星期几、计算某个具体日期等几个关于Excel日期函数的实例。
- ?
从头细说Excel的日期运算
骆寻梅
展开
刚好有两个读者对获取日期间隔数有疑问,卢子今天就进行详细说明。
1.如何计算两个日期之间相差的天数?
日期其实就是特殊的数字,数字是可以进行加减运算,两个日期相差的天数就是当天的日期减去入库的日期。在运算的时候,计算出来的天数是以日期的形式显示,需要再将单元格设置为常规格式。
有的时候,我们用VLOOKUP函数查找日期,公式设置完后将单元格设置为日期格式。这时会看见1900/1/0这样的日期,怎么回事呢?
当查找的对应值是空白单元格,就会返回0,而0设置为日期格式就是1900/1/0,数字1的日期就是1900/1/1。
在Excel中的日期起点是1900/1/1,不允许日期在1900之前,比如1899/12/1其实不能算日期,只能算一个文本内容。如果你不信,可以用ISNUMBER函数判断,如果是数字就返回TRUE,否则就返回FALSE。
将日期设置为常规格式,就可以看到相对应的数字。
同理,时间也是数字,也可以进行四则运算。
不过时间在相加的时候,需要注意,当时间超过24小时的时候,运算会出错。一周上班总时间很明显不是4:45,针对这种问题又该如何解决?
嵌套一个TEXT函数,[h]就表示超过24小时显示实际小时数。
2.如何计算两个日期之间相差的月份和天数?
从上一个案例知道,日期是数字,可以直接进行四则运算。但是,问题来了,如果直接用四则运算,是没法判断两个日期相差几个月,因为每个月的天数是不固定的。
这时就出现一个DATEDIF函数,这个函数可以获取两个日期相差的年月日。这是隐藏函数,跟普通函数有所区别,在输入的时候没任何提示。即使你输入date也看不到任何关于这个函数的信息,所以当你输入函数的时候,找不到是很正常的。
计算两个日期相差的年月日,y代表年,m代表月,d代表日。
=DATEDIF(A2,B2,"y")=DATEDIF(A2,B2,"m")=DATEDIF(A2,B2,"d")
不过这种算法又有一个问题,在计算月的时候没有忽略年,在计算日的时候没有忽略月。因此,出现了一种新的方法,ym代表忽略年计算月,md代表忽略月计算日。
=DATEDIF(A2,B2,"y")=DATEDIF(A2,B2,"ym")=DATEDIF(A2,B2,"md")
现在要计算两个日期相差多少个月多少天,只需要将刚刚说的知识点结合起来,用&起来即可。
=DATEDIF(A2,B2,"m")&"个月"&DATEDIF(A2,B2,"md")&"天"
其实,公式并不难,不要想着一步登天,慢点再慢点,坚持一起学习,你会学到很多有用的知识。
- ?
2017年最全的excel函数大全6—日期和时间函数(上)
你我他
展开
上次给大家分享了《2017年最全的excel函数大全(5)——逻辑函数》,这次分享给大家日期和时间函数(上)。
DATE 函数
返回特定日期的序列号
描述
DATE 函数返回表示特定日期的连续序列号。
用法
DATE(year,month,day)
DATE 函数用法具有下列参数:
ü Year:必需。year 参数的值可以包含一到四位数字。Excel 将根据计算机正在使用的日期系统来解释 year 参数。默认情况下,Microsoft Excel for Windows 使用的是 1900 日期系统,这表示第一个日期为 1900 年 1 月 1 日。
提示: 为避免出现意外结果,请对 year 参数使用四位数字。例如,“07”可能意味着“1907”或“2007”。因此,使用四位数的年份可避免混淆。
· 如果 year 介于 0(零)到 1899 之间(包含这两个值),则 Excel 会将该值与 1900 相加来计算年份。例如,DATE(108,1,2) 返回 2008 年 1 月 2 日 (1900+108)。
· 如果 year 介于 1900 到 9999 之间(包含这两个值),则 Excel 将使用该数值作为年份。例如,DATE(2008,1,2) 将返回 2008 年 1 月 2 日。
· 如果 year 小于 0 或大于等于 10000,则 Excel 返回 错误值 #NUM!。
ü 月:必需。 一个正整数或负整数,表示一年中从 1 月至 12 月(一月到十二月)的各个月。
· 如果 month 大于 12,则 month 会从指定年份的第一个月开始加上该月份数。例如,DATE(2008,14,2) 返回表示 2009 年 2 月 2 日的序列数。
· 如果 month 小于 1,则 month 会从指定年份的第一个月开始减去该月份数,然后再加上 1 个月。例如,DATE(2008,-3,2) 返回表示 2007 年 9 月 2 日的序列号。
ü 日:必需。 一个正整数或负整数,表示一月中从 1 日到 31 日的各天。
· 如果 day 大于指定月中的天数,则 day 会从该月的第一天开始加上该天数。例如,DATE(2008,1,35) 返回表示 2008 年 2 月 4 日的序列数。
· 如果 day 小于 1,则 day 从指定月份的第一天开始减去该天数,然后再加上 1 天。例如,DATE(2008,1,-15) 返回表示 2007 年 12 月 16 日的序列号。
注意: Excel 可将日期存储为连续序列号,以便能在计算中使用它们。1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39448,这是因为它与 1900 年 1 月 1 日之间相差 39,447 天。需要更改数字格式(设置单元格格式)以显示正确的日期。
案例
案例 1
例如:=DATE(C2,A2,B2) 将单元格 C2 中的年、单元格 A2 中的月以及单元格 B2 中的日合并在一起,并将它们放入一个单元格内作为日期。以下案例显示了单元格 D2 中的最终结果。
案例 2根据其他日期计算某个日期
可以使用 DATE 函数创建基于其他单元格中日期的一个日期。例如,可以使用 YEAR、MONTH 和 DAY 函数来创建基于另一个单元格的周年纪念日期。假设,某个员工第一天上班的日期为 2016 年 10 月 1 日,则可以使用 DATE 函数创建他上班 5 周年的纪念日期:
1. DATE 函数会创建一个日期。
2. =DATE(YEAR(C2)+5,MONTH(C2),DAY(C2))
3. YEAR 函数会查找单元格 C2 并从中提取“2012”。
4. “+5”表示加上 5 年,并在单元格 D2 中创建“2017”作为周年纪念日的年。
5. MONTH 函数从单元格 C2 中提取“3”。这将在单元格 D2 中创建“3”作为月。
6. DAY 函数从单元格 C2 中提取“14”。这将在单元格 D2 中创建“14”作为天。
案例 3 将文本字符串和数字转换为日期
有时Excel的日期是无法识别的。这可能是因为数字与典型的日期不相似,也可能因为数据被设置成了文本格式。如果是这种情况,则可以使用 DATE 函数将信息转换成日期。例如,在下图中,单元格 C2 包含采用以下格式的日期:YYYYMMDD。它也被设置成了文本格式。若要将其转换成日期,则可以将 DATE 函数与 LEFT、MID 和 RIGHT 函数配合使用。
1. DATE 函数会创建一个日期。
2. =DATE(LEFT(C2,4),MID(C2,5,2),RIGHT(C2,2))
3. LEFT 会在单元格 C2 中查找并从左起提取前 4 个字符。这将在单元格 D2 中创建“2014”作为转换后日期的年。
4. MID 函数将在单元格 C2 中查找。它将从第 5 个字符开始,然后向右提取 2 个字符。这将在单元格 D2 中创建“03”作为转换后日期的月。因为 D2 的格式设置为 Date,因此“0”不包括在最终结果中。
5. RIGHT 函数会在单元格 C2 中查找,然后从最右侧开始向左提取前 2 个字符。这将在 D2 中创建“14”作为日期的日。
案例 4 按一定的天数加减日期
若要按一定的天数加减日期,只需向值或包含日期的单元格引用加上或减去天数即可。
在以下案例中,单元格 A5 包含我们想加上和减去 7 天(C5 中的值)的日期。
DATEDIF 函数
计算两个日期之间的天数、月数或年数。
描述
计算两个日期之间相隔的天数、月数或年数。警告:Excel 提供了 DATEDIF 函数,以便支持来自 Lotus 1-2-3 的旧版工作簿。在某些应用场景下,DATEDIF 函数计算结果可能并不正确。有关详细信息,请参阅本文中的“已知问题”部分。
用法
DATEDIF(start_date,end_date,unit)
ü Start_date:用于表示时间段的第一个(即起始)日期的日期。 日期值有多种输入方式:带引号的文本字符串(例如 2001/1/30)、序列号(例如 36921,在商用 1900 日期系统时表示 2001 年 1 月 30 日)或其他公式或函数的结果(例如 DATEVALUE(2001/1/30))。
ü End_date:用于表示时间段的最后一个(即结束)日期的日期。
ü Unit:要返回的信息类型:
其他
l 日期存储为可用于计算的序列号。默认情况下,1899 年 12 月 31 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。
l DATEDIF 函数在用于计算年龄的公式中很有用。
案例
已知问题
“MD”参数可能导致出现负数、零或不准确的结果。若要计算上一完整月份后余下的天数,可使用如下方法:
此公式从单元格 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 天。
DATEVALUE 函数
将文本格式的日期转换为序列号
描述
DATEVALUE 函数将存储为文本的日期转换为 Excel 识别为日期的序列号。 例如,公式=DATEVALUE(1/1/2008) 返回 39448,即日期 2008-1-1 的序列号。 即使如此,请注意,计算机的系统日期设置可能会导致 DATEVALUE 函数的结果会与此案例不同。
如果工作表包含采用文本格式的日期并且要对这些日期进行筛选、排序、设置日期格式或执行日期计算,则 DATEVALUE 函数将十分有用。
用法
DATEVALUE(date_text)
DATEVALUE 函数用法具有下列参数:
ü Date_text 必需。代表采用 Excel 日期格式的日期的文本,或是对包含这种文本的单元格的引用。例如,用于表示日期的引号内的文本字符串 2008-1-30 或 30-Jan-2008。
· 使用 Microsoft Excel for Windows 中的默认日期系统时,参数 date_text 必须代表 1900 年 1 月 1 日和 9999 年 12 月 31 日之间的某个日期。 如果参数 date_text的值在此范围之外, DATEVALUE函数将返回错误值 “#VALUE!。
· 如果省略参数 date_text 中的年份部分,则 DATEVALUE 函数会使用计算机内置时钟的当前年份。 参数 date_text 中的时间信息将被忽略。
其他
l Excel 可将日期存储为序列号,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39,448,这是因为它距 1900 年 1 月 1 日有 39,447 天。
l 大部分函数都会自动将日期值转换为序列数。
案例
DAY 函数
将序列号转换为月份日期
描述
返回以序列数表示的某日期的天数。 天数是介于 1 到 31 之间的整数。
用法
DAY(serial_number)
DAY 函数用法具有下列参数:
ü Serial_number 必需。要查找的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本形式输入,则会出现问题。
其他
l Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。
l 无论提供的日期值的显示格式如何,YEAR、MONTH 和 DAY 函数返回的值都是公历值。例如,如果提供的日期的显示格式是回历,则 YEAR、MONTH 和 DAY 函数返回的值将是与对应的公历日期相关联的值。
案例
DAYS 函数
返回两个日期之间的天数
描述
返回两个日期之间的天数。
用法
DAYS(end_date, start_date)
DAYS 函数用法具有以下参数。
ü End_date 必需。 Start_date 和 End_date 是用于计算期间天数的起止日期。
ü Start_date 必需。Start_date 和 End_date 是用于计算期间天数的起止日期。
注意: Excel 可将日期存储为序列号,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39447 天。
其他
l 如果两个日期参数为数字,DAYS 使用 EndDate–StartDate 计算两个日期之间的天数。
l 如果任何一个日期参数为文本,该参数将被视为 DATEVALUE(date_text) 并返回整型日期,而不是时间组件。
l 如果日期参数是超出有效日期范围的数值,DAYS 返回 #NUM! 错误值。
l 如果日期参数是无法解析为字符串的有效日期,DAYS 返回 #VALUE! 错误值。
案例
DAYS360 函数
以一年 360 天为基准计算两个日期间的天数
描述
按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),DAYS360 函数返回两个日期间相差的天数,这在一些会计计算中将会用到。 如果财会系统是基于一年 12 个月,每月 30 天,可使用此函数帮助计算支付款项。
用法
DAYS360(start_date,end_date,[method])
DAYS360 函数用法具有下列参数:
ü Start_date、end_date 必需。 用于计算期间天数的起止日期。 如果 start_date 在 end_date 之后,则 DAYS360 函数将返回一个负数。 应使用 DATE 函数输入日期,或者将从其他公式或函数派生日期。 例如,使用函数 DATE(2008,5,23) 以返回 2008 年 5 月 23 日。 如果日期以文本形式输入,则会出现问题。
ü 方法 可选。 逻辑值,用于指定在计算中是采用美国方法 还是欧洲方法。
注意:Excel 可将日期存储为序列号,以便可以在计算中使用它们。 默认情况下,1900 年 1 月 1 日的序列号为 1,2008 年 1 月 1 日的序列号为 39,448,这是因为它距 1900 年 1 月 1 日有 39,447 天。
案例
EDATE 函数
返回用于表示开始日期之前或之后月数的日期的序列号
描述
返回表示某个日期的序列号,该日期与指定日期 (start_date) 相隔(之前或之后)指示的月份数。 使用函数 EDATE 可以计算与发行日处于一月中同一天的到期日的日期。
用法
EDATE(start_date, months)
EDATE 函数用法具有以下参数:
ü Start_date 必需。一个代表开始日期的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本形式输入,则会出现问题。
ü Months必需。 start_date 之前或之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。
其他
Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。如果 start_date 不是有效日期,则 EDATE 返回 错误值 #VALUE!。 如果 months 不是整数,将截尾取整。
案例
EOMONTH 函数
返回指定月数之前或之后的月份的最后一天的序列号
描述
返回某个月份最后一天的序列号,该月份与 start_date 相隔(之后或之后)指示的月份数。 使用函数 EOMONTH 可以计算正好在特定月份中最后一天到期的到期日。
用法
EOMONTH(start_date, months)
EOMONTH 函数用法具有以下参数:
ü Start_date 必需。一个代表开始日期的日期。应使用 DATE 函数输入日期,或将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本形式输入,则会出现问题。
ü Months 必需。 start_date 之前或之后的月份数。 months 为正值将生成未来日期;为负值将生成过去日期。
注意: 如果 months 不是整数,将截尾取整。
其他
l Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。
l 如果 start_date 不是有效日期,则 EOMONTH 返回 错误值 #NUM!。
l 如果 start_date 加 months 产生非法日期值,则 EOMONTH 返回 错误值 #NUM!。
案例
HOUR 函数
将序列号转换为小时
描述
返回时间值的小时数。 小时数是介于 0 ...
- ?
21个最常用的Excel日期函数组合
雷亦玉
展开
日期在数据分析中常常是极其重要的一个维度,今天整理了21个最常用的日期函数组合,转需~
1、=TODAY()
计算当前的系统日期
2、=NOW()
计算当前系统日期和时间
3、= NOW()-TODAY()
计算当前是几点几分。
4、=YEAR(TODAY())
计算当前日期的年份
5、=MONTH(TODAY())
计算当前日期的月份
6、=DAY(TODAY())
计算当前日期是几号。
7、=WEEKDAY(TODAY(),2)
计算今天是星期几。
8、=EDATE(TODAY(),1)
计算当前日期之后一个月的日期。
9、=EOMONTH(TODAY(),1)
计算下个月最后一天的日期。
10、=EOMONTH(TODAY(),0)-TODAY()
计算今天到本月底还有多少天。
11、="12-31"-"1-1"+1
计算今年有几天。
12、=TODAY()-"1-1"+1
计算今天是今年的第几天。
13、=WORKDAY(TODAY(),1)
计算下个工作日是哪天。
14、=EOMONTH(NOW(),0)-TODAY()
计算这个月还有几天。
15、=DAY(EOMONTH(NOW(),1))
计算下个月有几天。
16、=WEEKNUM(NOW())
计算今天是本年度的第几周。
17、=IF(COUNT(-"2-29"),"是","否")
计算今年是不是闰年。
18、=DATEDIF("2008-2-28",TODAY(),"m")
计算自2008年2月28日到今天有几个月。
19、=MONTH(MONTH(TODAY())*10)
计算今天属于第几季度
20、=COUPDAYBS(NOW(),"9999-1",4,1)+1
计算今天是本季度的第几天。
21、=COUPDAYS(NOW(),"9999-1",4,1)
计算当前季度有几天。
好了,今天的分享就到这,有需要的小伙伴,赶紧转发收藏吧,欢迎留言评论^_^
- ?
精挑细选的Excel日期函数大全(三),你值得拥有!
冰海
展开
TODAY
用途:返回系统当前日期的序列号。
语法:TODAY()
参数:无实例:
公式“=TODAY()”返回2017/9/10(执行公式时的系统时间
WEEKDAY
用途:返回某日期的星期数。在默认情况下,它的值为1(星期天)到7(星期六)之间的一个整数。
语法:WEEKDAY(serial_number,return_type)
参数:
Serial_number是要返回日期数的日期,它有多种输入方式:带引号的文本串(如"2001/02/26")、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(如DATEVALUE("2000/1/30"))。
Return_type为确定返回值类型的数字,数字1或省略则1至7代表星期天到星期六,数字2则1至7代表星期一到星期天,数字3则0至6代表星期一到星期天。
实例:公式“=WEEKDAY("2017/8/28",2)”返回1(星期一),=WEEKDAY("2017/9/10",3)返回6(星期日)。
WEEKNUM
用途:返回一个数字,该数字代表一年中的第几周。
语法:WEEKNUM(serial_num,return_type)
Serial_num代表一周中的日期。应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入。
Return_type为一数字,确定星期计算从哪一天开始。默认值为1。
实例:公式"=WEEKNUM("2017/9/10",2)"返回37,代表从星期一开始计算一周,2017/9/10为一年中的第37周。
WORKDAY
用途:返回某日期(起始日期)之前或之后相隔指定工作日(不包括周末和专门指定的假日)的某一日期的值,并扣除周末或假日。
语法:WORKDAY(start_date,days,holidays)
Start_date为开始日期
Days为Start_date之前或之后不含周末及节假日的天数;Days是正值将产生未来日期、负值产生过去日期
Holidays为可选的数据清单,表示需要从工作日历中排除的日期值(如法定假日或非法定假日)。此清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统时的35825表示1998年1月30日)或其他公式或函数的结果
实例:公式“=WORKDAY("2017/4/9",45)”返回2017/6/9代表2017/4/9之后的45个工作日日期为2017/6/9。
YEAR
用途:返回某日期的年份。其结果为1900到9999之间的一个整数。
语法:YEAR(serial_number)
参数:Serial_number是一个日期值,其中包含要查找的年份。日期有多种输入方式:带引号的文本串(例如"1998/01/30")、序列号(例如,如果使用1900日期系统则35825表示1998年1月30日)或其他公式或函数的结果(例如DATEVaLUE("1998/1/30"))。
实例:公式“=YEAR("2017/8/6")返回2000”,=YEAR("2016/05/01")返回2003,=YEAR(38525)返回2005。
YEARFRAC
用途:返回start_date和end_date之间的天数占全年天数的百分比。
语法:YEARFRAC(start_date,end_date,basis)
Start_date表示开始日期
End_date代表结束日期。函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如35829表示1900日期系统中的1998年1月30日),或其他公式或函数的结果(例如DATEVALUE("1998/1/30"))
Basis表示日计数基准类型,其中0或省略为US(NASD)30/360,1实际天数/实际天数,2实际天数/360,3实际天数/365,4欧洲30/360。
实例:
公式“=YEARFRAC("2017/01/31","2017/06/30",0)”返回0.4166667。
- ?
Office小技巧-Excel表格中五种常用的日期与时间函数
雪迷离
展开
日期与时间函数是指在公式中用来分析和处理日期值和时间值的函数。小编今天和大家一起学习五种常用的日期与时间函数。
一:DATE函数
函数功能:返回代表特定日期的系列数。如果是要计算某年月日的话,比如是月份大于12的月数,或者日期大于31,那么系统会自动累加上去。
语法格式: DATE(year,month,day),分别对应年月日。
二:NOW函数
函数功能:返回当前日期和时间所对应的系列数。表格时间随着系统自动变化,使用快捷键插入的则不会
语法格式:NOW( )。
三:DAY函数
函数功能:返回以系列数表示的某日期的天数,用整数 1 到 31 表示。
语法格式:DAY(serial_number),表示要查找的日期天数。
四:MONTH函数
函数功能:返回以系列数表示的日期中的月份。月份是介于 1(一月)和 12(十二月)之间的整数。
语法格式:MONTH(serial_number),表示一个日期值,包括要查找的月份的日期.
五:WEEKDAY函数
函数功能:返回某日期为星期几。默认情况下,其值为 1(星期天)到 7(星期六)之间的整数。
语法格式:WEEKDAY(serial_number,return_type),参数serial_number是要返回某日期数的日期,return_type为确定返回值类型,t从1到7还是从0到6,以及从星期几开始计数,如省略则返值为1到7,且从星期日起计。
以上。
希望大家在阅读之余,多加练习办公软件Office的使用,提高我们的工作效率,成为职场高效率的一员。我将在每周都进行内容更新,大家一起学习,共同进步。
Office小技巧-常用的三种Excel数据编辑技巧
Office小技巧-Excel中多种条件也可以同时筛选
Office小技巧=详细解说EXCEL中选择粘贴功能大全
- ?
精挑细选的Excel日期函数大全(一),你值得拥有!
三问
展开
DATE
用途:返回代表特定日期的序列号
语法:DATE(year,month,day)
参数:
year为一到四位,根据使用的日期系统解释该参数。默认情况下,ExcelforWindows使用1900日期系统,而ExcelforMacintosh使用1904日期系统。当year的取值在0-1899之间时,Excel 会自动加上1900,然后得出年份。
Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。
Day代表在该月份中第几天的数字。如果day大于该月份的最大天数时,将从指定月份的第一天开始往上累加。
注意:
Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。
当单元格的格式为“日期”时,返回的结果是一个日期格式。当单元格的格式为“常规”时,返回代表特定日期的序列号。
实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。
DATEVALUE
用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。
语法:DATEVALUE(date_text)
参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。
注意:如果省略参数date_text中的年代,则函数DATEVaLUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。
实例:公式“=DATEVALUE("2001/3/5")”返回36955,DATEVALUE("2-26")返回36948。
DAY
用途:返回用序列号(整数1到31)表示的某日期的天数,用整数1到31表示。
语法:DAY(serial_number)
参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示的1998年1月30日),以及其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。
实例:公式“=DAY("2001/1/27")”返回27,
=DAY(35825)返回30,
=DAY(DATEVaLUE("2001/1/25"))返回25。
DAYS
用途:返回两个日期之间的天数。
语法:DAYS(end_date, start_date)
end_date截至日期
start_date起始日期
注意:
两个日期参数为数字,DAYS 使用 EndDate–StartDate 计算两个日期之间的天数。
若任何一个日期参数为文本,该参数将被视为 DATEVALUE(date_text) 并返回整型日期,而不是时间组件。
日期参数是超出有效日期范围的数值时,DAYS 返回 #NUM! 错误值。
日期参数是无法解析为字符串的有效日期,DAYS 返回 #VALUE! 错误值。
实例:
公式“=DAYS("2001/1/27","2017/9/7")”返回6067,代表从2001/1/27到2017/9/7有6067天。
DAYS360
用途:按照一年360天的算法(每个月30天,一年共计12个月),返回两日期间相差的天数。
语法:DAYS360(start_date,end_date,method)
Start_date和end_date是用于计算期间天数的起止日期。如果start_date在end_date之后,则DAYS360将返回一个负数。日期可以有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(例如:如果使用1900日期系统,则35825表示1998年1月30日)或其他公式或函数的结果(例如,DATEVaLUE("1998/1/30"))。
Method是一个逻辑值,它指定了在计算中是采用欧洲方法还是美国方法。若为FALSE或忽略,则采用美国方法(如果起始日期是一个月的31日,则等于同月的30日。如果终止日期是一个月的31日,并且起始日期早于30日,则终止日期等于下一个月的1日,否则,终止日期等于本月的30日)。若为TRUE则采用欧洲方法(无论是起始日期还是终止日期为一个月的31号,都将等于本月的30号)。
实例:公式“=DAYS360("1998/2/1","2001/2-1")”返回1080。
EDATE
用途:返回指定日期(start_date)之前或之后指定月份的日期序列号。
语法:EDATE(start_date,months)
Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(例如:DATEVALUE("1998/1/30"))。
Months为在start_date之前或之后的月份数,未来日期用正数表示,过去日期用负数表示。
实例:公式“=EDATE("2001/3/5",2)”返回37016即2001年5月5日,
=EDATE("2001/3/5",-6)返回36774即2000年9月5日。
- ?
Excel中的各种时间差、日期差,该如何计算
王鞅
展开
有些朋友被Excel中的时间差计算问题所困扰,所以今天整理了一下各种时间差、日期差的计算方法以及注意事项。
第一、计算“几小时几分钟几秒”的时间差
最简单的方法,就是用较大的时间减去减小的时间。所谓时间较大者指的是一天中更靠后的时间。
公式:=B2-B1或=TEXT(B2-B1,"h:mm:ss")
注意:原始的时间和计算结果单元格都必须设置成时间格式,如“h:mm:ss”。
如果你没有将结果单元格设置成时间格式,会得到一个数字(如0.0957);而如果你用较小的时间减去较大的时间,那就会得到一堆的“#”。
这么说,在计算时间之前,要用眼睛判断哪个大哪个小,然后再计算咯?
当然不是,我们可以把公式变成下面这两种样子:
公式1:=B2-B1+IF(B2
B2,TEXT(B1-B2,"-h:mm:ss"),TEXT(B2-B1,"+h:mm:ss")) 咦,这两个公式的计算结果有时候不一样呢?
但这两个公式都是正确的。当B2的时间数值上比B1小时,如果你用第二个公式,则表示这两个时间属于同一天,如果你用第一个公式,则表示B2的时间是第二天的时间,两者的计算结果相差24小时。
第二、计算小时差、分钟差和秒数差
在计算考勤时间时,我们不想得到“几天几小时几分钟几秒”的时间差,希望将时间差转换成小时、分钟或秒。这就可以使用上图的公式。
注意,原始的时间还是要设置成时间格式,时间差单元格设置成数值格式。用这种方法计算,会默认两个时间属于同一天。
公式中的1440表示“24小时*60分钟”,86400表示“24小时*60分钟*60秒”。
计算日期差
计算日期差,可以使用函数“DATEDIF(开始日期,结束日期、"Y/M/D")”,“Y”表示计算相差几年、“M”表示计算相差几月,“D”表示计算相差几天。
再次提醒一下,在计算时间差、日期差之前,一定要确保单元格的格式设置正确了。否则,将得到不正确的计算结果。
学习,为了更好的生活。欢迎点赞、评论、关注和点击头像。
- ?
这样的Excel日期计算思路,23.6%的人没想到
失爱
展开
计算今年是否为闰年
公式
=IF(COUNT(-"2-29"),"是","否")
思路解析:
1、在Excel中如果输入“月/日”形式的日期,会默认按当前年份处理。
2、如果当前年份中没有2月29日,输入"2-29"就会作为文本处理。
3、如果当前年份没有2月29日,"2-29"前面加上负号,就相当于在文本前加负号,会返回错误值#VALUE!。
4、再用COUNT函数判断-"2-29"是数值还是错误值,如果是错误值,当然就不是闰年了。
计算今年有几天
="12-31"-"1-1"+1
前面说过,在Excel中如果输入“月/日”形式的日期,会默认按当前年份处理。
"12-31"-"1-1"就是用当前年的12月31日减去当前年的1月1日。
再加上一天,就是全年的天数了。
有朋友说,公式写成这样呢:
="2017-12-31"-"2016-12-31"
这样的话,公式有保质期,放到明年就不能用了,哈哈。
图文制作:祝洪忠
ExcelHome,微软技术社区联盟成员
- ?
9个Excel日期小常识!
祖寄文
展开
日期看似很简单,实际上很多读者都不懂,经常有读者在群内问相关的问题。下面卢子挑选9个小案例进行说明。
1.每次打开Excel,原来的数字格式总会变成日期格式,怎么回事?
输入4位数的年份2012,就变成了日期格式。
打开自定义单元格格式,将这种特殊格式的格式删除掉。
[$-en-US]mmm-yy;@
当然还有可能是由下面这种格式[$-F400]、[$-F800]导致,点击删除即可。
也就是说,当遇到这种情况,就打开自定义单元格格式,将那些看起来很奇怪的自定义格式代码删除。
2.单元格是数字格式,编辑栏却是日期格式,不管是直接设置单元格格式或者分列,都没有任何作用,怎么回事?
这是因为点击了显示公式的原因,再重新点一下就恢复正常,快捷键Ctrl+~。
正常效果。
3.单元格为日期,怎么变成#####,什么原因?
这是由于列宽太小导致,将列宽拉宽点就恢复正常。
4.将日期和时间合并起来。
=A2+B2
通过设置单元格格式可以知道,日期其实就是整数,时间就是小数,合并起来就是整数+小数。
整数1代表的日期就是1900-1-1,2就是1900-1-2,依次类推。12小时就是半天,也就是0.5。
如果合并后显示的是常规格式,可通过自定义单元格格式为:yyyy-m-d h:mm
5.将原始数据转换成年4位,月、日、时、分、秒都是2位的效果。
设置公式为:
=TEXT(A2,"e-mm-dd hh:mm:ss")
e代表4位数的年,等同于yyyy,d就代表1位日,dd就代表2位,其他同理。
6.将年月和日期合并起来,并转换成标准日期。
=--SUBSTITUTE(A2&"."&B2,".","-")
用.作为分隔符号的并不是标准日期,需要再替换成以-作为分隔符号,再借助--转换成数值,最后设置单元格格式为日期格式。
7.将库存日期店铺合并起来,直接用&连接起来出错。
日期就是数值,所以在合并的时候需要借助TEXT函数进行转换。
8.除夕倒计时。
这里的#######可不是列宽太小导致。
在单元格中输入2018-2-15代表日期,在公式中输入是做减法运算,导致运算出错。
标准的日期可以用DATE(2018,2,15)表示。
=DATE(2018,2,15)-TODAY()
当然日期用"2018-2-15"表示也可以,输入公式后,将单元格格式设置为常规。
="2018-2-15"-TODAY()
9.获取员工转正日期,试用期3个月。
=EDATE(A2,3)
EDATE函数是获取开始日期之前或者之后多少个月,之后3个月,就用3表示,如果是1年,就用12。如果是日期的5个月之前,也就是-5。
excel日期比较大小
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并