Excel数据格式中,一共分十一类,其中两类分别是日期与时间。Excel中存在大量公式用于处理这两个类型的数据,下面一一介绍与之相关的函数。
年月日函数
Excel函数中分别用year()、month()、day()函数返回一日期的年、月、日,这三个函数也是处理日期的基础函数,基本满足日常工作对日期格式数据的处理。
下图中A列为日期,B列为对A列分别使用年月日函数,C列是返回的结果。
小技巧:Excel单元格快速输入当前日期,[Ctrl]+[;]两键同按。
时分秒函数
同样,Excel分别用hour()、minute()、second()函数返回某一时间点的时、分、秒,如下图所示:
小技巧:Excel快速输入当前时间点,[Ctrl]+[shift]+[;]三键同按,输入完之后别忘记将数据调整为时间格式。
Today与Now
today()与now()函数不需要任何参数,直接在单元格输入公式即可,其中today()返回日期格式的当前日期,而now()不仅返回当期日期,还包括当前时间点,根据工作需求,选择格式的函数。
需要注意的一点是:today()与now()函数会随着时间的变化而更新,意味着如果你不希望它随着日期变化而自动更新的话,记得把公式粘贴成值。
weekday
功能:返回一周中的第几天的数值
语法:weekday(serial_number,return_type),第一个参数输入一个日期,第二个参数为返回的类型,一共可以选择10个参数,常用的为前三个参数,即1,2,3,下面通过一个实例了解参数2的含义。
六月三日是星期一:
如果参数二选择1的话,返回的结果是2,也就是说参数二选择1,结果返回的是从1(星期天)到7(星期六)的数字;
如果参数二选择2的话,返回的结果是2,也就是说参数二选择2,结果返回的是从1(星期一)到7(星期天)的数字;
如果参数二选择3的话,返回的结果是0,也就是说参数二选择3,结果返回的是从0(星期一)到6(星期天)的数字;
可以发现,参数二选择2的时候,是比较符合大众观念的,即星期一对应1,星期天对应7
networkdays
功能:返回两个日期之间的完整工作日数
语法:networkdays(开始日期,结束日期,要去除的节假日)
实例:六月一日到六月七日,一共7天,也就是一周,运用networkdays函数(参数三可省略)返回的结果是5天,函数默认剔除周末双休日,7-2=5天,即6.1-6.7日之前有5个工作日;
但是今年6.7日是端午节,是不用上班的,这一天日期得剔除,具体在参数三种体现,如下图所示:
参数三当中的日期不做统计,即6.1-6.7只统计6.1-6.6日,一共六天,减去1日、2日双休日,一共需要上4天班。
datedif
datedif 函数是Excel中的隐藏函数,在函数栏中并不存在,但又非常实用的一个函数
功能:计算两个日期之间相隔的天数、月数或年数
语法:datedif(开始日期,结束日期,返回信息类型)
参数三主要包括:"Y"—返回相隔的年数;"M"—返回相隔的月数;"D"—返回相隔的天数
实例:如下图所示:
需要注意的一点是,不满一年或不满一个月,函数结果是舍弃的,如【=DATEDIF("2018/6/1","2019/05/31","Y")】返回结果为0
DateString
DateString也是Excel中的隐藏函数,知道的人一般较少,功能主要为将非规则日期转换成规则日期年月日,详见下例:
A列皆为19年6月1日不同的表示方式,运用DateString函数之后,格式全部调整为19年06月01日。
小结
关于时间日期类函数就介绍到这里,如果觉得有用,欢迎关注我,每天分享数据小技巧~