如何将日期和时间分开?两种场景和3种方法

这是一个老问题了,时不时就会有人问起。今天就详细介绍一下这种问题的各种实现方法。

01

问题和数据

问题很简单。现在有一列日期时间数据:

现在需要分成两列,结果如下:

02

方法1 格式化

第一个方法很简单,就是直接进行单元格格式化。

首先,将源数据复制两列:

然后分别设置格式为日期和时间:

这样,就可以得到结果了:

这个方法很简单,每个人都会,但是有一个缺点,那就是尽管看上去有两列:日期和时间,但是实际上,只是显示方式不同,而实际值是一样的:

02

方法2 使用函数

为了得到两列真正的日期(不含时间)和时间(不含日期)的数据,我们可以使用函数。

首先,使用INT函数:

=INT(Sheet1!B3)

INT函数是取整函数,只保留参数的整数部分。由于Excel中的日期数据实际上用整数记录日期部分,用小数记录时间部分。因此,这个公式就会真正取得日期值。

然后,使用MOD函数:

=MOD(Sheet1!B3,1)

MOD函数是用于返回一个数值对另一个数值的余数。所有数字对于1的余数就是小数部分。(关于MOD函数的详细介绍,请阅读一个经常用到的不常用函数:MOD

将这两列分别设置格式为日期和时间,结果如下:

在这个结果中,日期和时间是真正分开的:

03

方法3 使用Power Query

上面的两种方法有一个共同的缺点,就是不能自动化处理数据。因此,如果希望数据处理过程完全自动化,请使用Power Query。

选择数据区域的任意单元格,在数据选项卡中点击“从表格”,

弹出对话框,将数据区域转换为超级表:

点击确定后,进入到Power Query编辑器中:

选择Time列,然后在添加列选项卡中,点击“重复列”,

选中Time列(第一列),在转换选项卡中,点击数据类型中的日期:

将该列转换为日期:

选中第二列(Time-复制),在转换选项卡中,点击数据类型中的时间:

将该列转换为时间:

修改两列的名称为日期和时间:

在“主页”选项卡中,点击关闭并上载:

在Excel中,新建了一个工作表,就是我们需要的数据:

这个结果是可以根据源数据的变化而自动变换的

在这三种方法中,隆重推荐第三种:Power Query。不仅仅因为这种方法让我们可以创建自动化的数据处理过程,还因为针对日期和时间处理,Power Query提供了更加强大的能力。

加入E学会,学习更多数据处理方法

(0)

相关推荐