今天,函数哥主要讲解处理日期数据的利器-DATE函数。DATE函数结构比较简单,操作容易,但函数的背后运算逻辑稍许复杂。

先感受感受她的神操作吧!

date函数怎么锁定(一个看起来操作简单)(1)

DATE函数的运算逻辑与结果

看起来是不是非常简单!是的,本身本来就不复杂!

01 功能:

根据给定的正常的年、月、日数字返回一个相应的日期。如果在输入函数前,储存格格式为默认的 【通用】,则结果的格式会是日期格式。请记住,日期是有一些不同的呈现形式的,因此结合需要需要进行设置。

02 语法:

=DATE(年,月,日)

年:可以是 1 - 4 位的数字,为确保准确无误,建议读者输入1个四位数字。不管怎样,Microsoft Excel 会依据您使用的资料系统来解读 year 引数。依据预设值,Excel for Windows 是使用 1900 日期系统;Excel for the Macintosh 则使用 1904 日期系统。


1900 日期系统:

如果年是介于0 (零)和1899(包含)之间,则Excel会将该值加上1900以计算“年”。例如,DATE(108,1,2)会传回 January 2, 2008 (1900 108)。

如果年是介于1900和9999 (包含),则Excel会使用该值来作为“年”的值。 例如,DATE(2008,1,2) 会传回 January 2, 2008。如果是小于0或者是大于10000,则Excel 将会传回错误值。

1904 日期系统:

如果年是介于4 (零) 和1899 (包含) 之间,则Excel会将该值加上1900 以计算“年”。例如,DATE(108,1,2)会传回 January 2, 2008 (1900 108)。

如果年是介于1904和9999 (包含),则Excel会使用该值来作为年的值。 例如,DATE(2008,1,2) 会传回 January 2, 2008。如果年小于4或大于10000或者是介于 1900和1903(包含)之间,则Excel将会传回错误值。


月:是一个数字,代表一年中的月份。如果月份大于12,则您所指定之年份会根据多余月份并按满12个月,(365 或 366天) 为 1 年的规则进行进位,直至最终的月份小于或等于12。例如,DATE (2008,25,2) 传回的日期是 January 2, 2010。

日:也是一个数字,代表这个月份中的日数。如果日大于这个月的指定日数,则您所指定之月份会根据多余日数并按各月份指定日数进行进位,直至最终日数不足以构成 1个月。例如,DATE (2008,6,67) 传回的日期应是August 6, 2008。

03 格式:

结果按您的系统日期格式显示。如果您要更改格式,請选取目标儲存格,然后按一下 【格式】功能表上的【储存格】,接着再按一下 [数值] 索引标签,最后在【类型】方块中选取【日期]】或【自定义】进行设定。

04 示例:

如果您曾经从ERP、MRP 或其他系统上下载过资料,您就会发现有时其中的日期栏位的资料并非正常的形式,也就是说这些日期在进行运算时往往会出错。

这时,如果您用DATE函数与一些取字符函数将这些日期转化为正规的日期后再进行运算您就会发现答案是正确的。请看下例中错误结果与正确结果的对比:

表一:错误结果

date函数怎么锁定(一个看起来操作简单)(2)

这样的结果是不是很糟心

表二:正确结果

date函数怎么锁定(一个看起来操作简单)(3)

正确的结果是需要前提处理的!

注:

1) 在上例中,笔者将常出现的四种不同的非正常形式日期都集中到出货日期一栏以供读者进行参考。所以, 预计到达时间一栏用来处理这些日期所编写的函数也略有不同。事实上,在工作中多种非正常形式的日期同时出现的情况是非常是不多见的,读者也不必担心一次会编写很多不同的函数。

2) 上例中除了用到DATE函数外,还用到了三个取字符的函数LEFT、RIGHT、MID,这些函数的功能在之前的文章已经做了正版分享,你可以搜索查看。

DATE函数在日期运算领域运用比较广,今天的内容分享到此结束!

,