在 Excel 中按时间对范围进行排序

在 Excel 中按时间对范围进行排序

我有以下问题。

我使用宏对时间值进行排序。但是当我从 SharePoint 列表中复制粘贴时间时。它在单元格中显示为例如“14:30”。当我自己在单元格中输入时间时,它显示为 14:30:00。

当我用不同的符号对时间进行排序时,所有带有两个零的数值都排在不带零的数值之前。

如何确保排序时所有单元格都有相同的符号?

答案1

单元格格式不会对排序顺序产生任何影响。粘贴的值很可能是文本,而不是实时值。

要测试这一点,请尝试将表观时间值的格式更改为“常规”。如果它是真实时间值,它将是小于 1 的十进制数,例如 0.25 表示上午 6 点。

要按时间排序,所有值都必须是时间。如果不是,文本值将出现在时间值之后,因此所有实际的、手动输入的时间值将排在最前面。

您可以按如下方式将所有文本转换为时间值:选择列,单击数据 > 文本到列 > 下一步 > 下一步。在向导的第 3 步中指定数据为日期(是的,就是日期)并单击确定。现在所有值都是时间值。当然,这可以用 VBA 来完成。只需在转换之前启动宏录制器并查看代码即可。

相关内容