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 B
的 Number Format
是 dd.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 按日期和时间对值进行排序的主要内容,如果未能解决你的问题,请参考以下文章