Excel 中的日期数据几乎都是以“2014/1/1”的形式显示在单元格中的。而日期数据的实质其实是“序列值”。
比如说,在单元格 A1中输入2014/1/1,在设置单元格格式的选项中可以将 A1的显示形式变更为“数值”,就会出现41640。这就是序列值。
这种序列值,按照“以1900年1月1日为第1天”的算法,算出单元格中的日期为第几天。那么,2014年1月1日从1900年1月1日算起正好是第41640天,所以“2014/1/1”的序列值即为41640。
“单元格输入1,出现了‘1900/1/1’。这什么意思啊?”
我经常听到这样的疑问。这是因为目标单元格的表现形式变成了日期的缘故。这时候,如果将单元格的格式改回“数值”或“常规”,就会正常地显示数字“1”了。
实际处理日期数据时,一般不需要在意序列值。明明输入的是日期却出现“41702”这种数字,如果发生这种状况,我们需要知道这是代表日期的“序列值”,其原因是单元格的格式为“日期”而不是“数值”或“常规”,这样我们就可以做相应的处理了。
在看 Excel 函数的相关解说时,若是看到“做成序列值”“将参数指定为序列值”这种说法,要意识到“序列值=日期”。Excel 中在处理关于日期的数据时,比如计算天数、年龄,从日期数值中得出星期几的函数,就是利用这种序列值处理的。
例如,用 Excel 计算从2014年3月28日到2014年4月3日为止一共有多少天。我们可以在单元格 A2输入“2014/3/28”,B2单元格输入“2014/4/3”,为了得出这两个日期之间的天数,在单元格 C2输入下列公式。
=B2-A2
这样,从 B2的日期减去 A2日期得到的结果“6”会显示在单元格 C2中。
单元格 B2的日期数据“2014/4/3”,对应的序列值为41732。
单元格 A2的日期数据“2014/3/28”,对应的序列值为41726。
用 B2的序列值减去 A2的序列值,即“41732-41726”,就可以得出“6”这个答案。
经常能够遇到的情况则是:像 A2为“20140328”、B2为“20140403”这样的形式,虽然在 Excel 中不会被当成数据来处理,如果直接将这两个数据看作是日期并做减法,想要计算出这中间的天数,是无法得出正确结果的。
这2个数据说到底只是代表“20140328”这个数字,并不是指“2014年3月28日”这个日期。因此,在输入有“=B2-A2”的单元格,虽然是将上述2个八位数做减法,却会得出“75”这个结果。这时,我们应该把代表日期的序列值改为日期形式再进行计算。