![在 Excel 中按时间对范围进行排序](https://linux22.com/image/1536131/%E5%9C%A8%20Excel%20%E4%B8%AD%E6%8C%89%E6%97%B6%E9%97%B4%E5%AF%B9%E8%8C%83%E5%9B%B4%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F.png)
我有以下问题。
我使用宏对时间值进行排序。但是当我从 SharePoint 列表中复制粘贴时间时。它在单元格中显示为例如“14:30”。当我自己在单元格中输入时间时,它显示为 14:30:00。
当我用不同的符号对时间进行排序时,所有带有两个零的数值都排在不带零的数值之前。
如何确保排序时所有单元格都有相同的符号?
答案1
单元格格式不会对排序顺序产生任何影响。粘贴的值很可能是文本,而不是实时值。
要测试这一点,请尝试将表观时间值的格式更改为“常规”。如果它是真实时间值,它将是小于 1 的十进制数,例如 0.25 表示上午 6 点。
要按时间排序,所有值都必须是时间。如果不是,文本值将出现在时间值之后,因此所有实际的、手动输入的时间值将排在最前面。
您可以按如下方式将所有文本转换为时间值:选择列,单击数据 > 文本到列 > 下一步 > 下一步。在向导的第 3 步中指定数据为日期(是的,就是日期)并单击确定。现在所有值都是时间值。当然,这可以用 VBA 来完成。只需在转换之前启动宏录制器并查看代码即可。