Excel 按日期和时间对值进行排序

Posted

技术标签:

【中文标题】Excel 按日期和时间对值进行排序【英文标题】:Excel sort values by date and time 【发布时间】:2022-01-14 18:07:32 【问题描述】:

我有 5 列带有值(和很多行)。第一列是格式为 dd.mm.yyyy hh:mm:ss.000 的时间戳 最后三个零表示毫秒,例如09.12.2021 22:00:34.343

我们使用这种日期格式(月前一天)。

如果我尝试在 Excel 中对它们进行排序,它们会按字母顺序而不是按时间顺序排序。

对于以下值

23.10.2021 20:59:47.066

23.10.2021 21:07:17.061

23.10.2021 21:17:17.082

23.10.2021 23:42:18.008

23.11.2021 11:11:00.005

23.11.2021 11:21:00.096

24.10.2021 00:32:18.052

24.11.2021 16:42:14.046

我需要得到

23.10.2021 20:59:47.066

23.10.2021 21:07:17.061

23.10.2021 21:17:17.082

23.10.2021 23:42:18.008

**24.10.2021 00:32:18.052**

23.11.2021 11:11:00.005

23.11.2021 11:21:00.096

24.11.2021 16:42:14.046

对此有什么解决方法?

【问题讨论】:

您确定这些是日期和时间而不是字符串吗? 我从文本文件中获取时间戳,所以它们是字符串,代表日期和时间 【参考方案1】:

一种解决方案(如果时间戳必须保留为字符串值): 添加一个帮助列,将字符串值转换为可排序的日期/时间值。其公式为:

=DATEVALUE(SUBSTITUTE(LEFT(A1,10),".","/"))+TIMEVALUE(RIGHT(A1,12))

注意: a) 以上当然是转换单元格 A1 的值 b) 假定格式始终为 dd.mm.yyyy hh:mm:ss.nnn

样本结果(按 B 列排序) 如果您想知道,Column BNumber Formatdd.mm.yyyy hh:mm:ss.000

【讨论】:

【参考方案2】:

要将字符串转换为可以按日期/时间顺序排序的“真实日期”,您可以使用此公式创建 Helper

=DATE(MID(A1,7,4),MID(A1,4,2), LEFT(A1,2)) + TIMEVALUE(RIGHT(A1,12))

此公式将独立于计算机上的 Windows 区域设置工作。它显然假设源数据是 DMY,但即使目标计算上的 WRS 是其他东西,也会将字符串转换为真实日期。

原始数据

已排序

辅助列可以隐藏,也可以在排序完成后删除

【讨论】:

它不适合我 @fjohn 从屏幕截图中可以看出,它在这里有效。我怀疑您的数据存在问题,我没有从您的示例中欣赏到,或者您没有正确应用我展示的解决方案。

以上是关于Excel 按日期和时间对值进行排序的主要内容,如果未能解决你的问题,请参考以下文章

Excel怎么根据出生日期按年龄大小进行排序

从 Reporting Services 导入时在 Excel 中按日期排序

在Python中按日期对excel文件进​​行排序[关闭]

如何按日期时间和整数对光标进行排序

SQL中按日期进行查询,如何截取日期进行查询

excel改的日期格式为啥要双击一下单元格才能变