分享

日期①:吾本佳人,奈何以他人面目示人多年

 偷懒的技术 2021-01-30

最近推送的五篇文章:

问题

有读者朋友问:一个单元格中输入的是标准的日期,有一个公式取这个单元格,但是不知道为什么要用LEFT取左边五个字符,更奇怪的是取出来的结果是一串数字,如下图:

按理说,用LEFT取B2左边五个字符,取出来的结果应该是“2018-”才对,为什么会是43460。

日期:吾本佳人
要弄明白这个问题,首先得知道,在Excel中,日期、时间本来就是数字,只不过,她被微软使用了易容术,乔装打扮为日期,只有在特定的时候才会显示出她的本来面目。见下面的动图:

从上面的的演示可以看出,我们用快捷键【ctrl+;】输入今天的日期,然后用公式引用该单元格,显示的是一串数字43461。而我们在单元格中直接输入数字43461和1,然后用【Ctrl+shift+3】快捷键将其设置为日期,分别显示为2018年12月27日、1900年1月1日。由此可以证实,日期本来就是数字,只不过是用自定义格式显示成日期的样式而已
日期是一串数字序列,系统里的最初的一天是1900年1月1日,其序列为1,1900年1月2日为2,......以此类推,到今天2018年12月27日,就是第43461天。也正是因为这个原因,所以,在用日期函数时,其参数提示是"serial-number(序列号)“。

日期是数字,时间也是数字,一天为1,半天就是0.5,半天时就在中午12点,也就是12:0:0就是0.5,一天24小时,一小时就是1/24,一分钟就是1/24/60,一秒钟就是1/24/60/60,见下面的动图:

有啥用?
既然日期、时间是数字,那么就可以象数字一样进行加减运算
应用1:计算相差多少天
应用2:时间直接相加

如果求和的时间超出了24小时,显示为C12的样式的话,可以将其设置为D12单元格的自定义格式,即可显示总时长。
还可将超出24小时的,在前面显示多少天:

为什么要用LEFT
我们明白日期就是数字后,就明白为什么用LEFT取标准日期,取出来是一串数字。如果不是标准日期,而是文本(B4单元格),那么就其计算结果就是”2018-“,如下图D4单元格所示:

那为什么要取日期左边五个字符呢?
这个应该是公式设计者考虑到源数据的日期可能会带有时间,如上图中的B3单元格,既有日期还有时间,它的序列就是一串有小数的数字。因而用LEFT取其整数部分,实际上用INT、TRUNC函数取整更好。
预告
下一篇我们继续聊日期,在工作中,关于日期、时间你有哪些困惑,欢迎留言,会在后面的文章中予以解答。

Excel畅销书推荐:

《“偷懒”的技术:打造财务Excel达人》2017年当当网畅销榜Excel类第一名,办公类第二名,好评率99.8%,学Excel必选书籍!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多