在Excel中将按时间格式化的文本转换为文本
我有一组通过PHP脚本下载的数据 – 一个特定列的数据如下
8 A, 30 A, 35 A, 100 A, 12 A
现在Excel自动将它们转换为以下格式
8:00 AM, 30 A, 35 A, 100 A, 12:00 AM
这种自动转换为时间格式是相当令人沮丧的所有数字less于24。
我已经通过自定义vba函数尝试了下面的regexreplace
=regexreplace(TextCell, A$, "")
正则expression式适用于所有其他但不是这一个。 有没有解决scheme?
正则expression式适用于所有其他但不是这一个。 有没有解决scheme?
我不确定我是否明白你需要什么? 请给我一个你想用这个正则expression式来做的例子吗?
如果你想回到原来的值,那么你可以简单地格式化时间值(DateTime存储为像双),例如:
Dim txt As Strig txt = Format(Cells(1, 1).Value, "0 A")
请记住将单元格/列的数据格式设置为“文本” – 如果要在表格中存储适当的值,例如:
Range("A1").NumberFormat = "@"
Range("A:A").EntireColumn.NumberFormat = "@"
对于所有小于24的数字,这种自动转换为时间格式相当令人沮丧。
请提供有关何时转换以及如何使用此文件的更多信息?
我问,因为可能你可以closures这个“自动转换”,也许这将是一个好方法。
例如,如果你有CSV文件,那么当你在Excel中导入这个文件 – 你必须通过对话框与“导入设置”…你可以设置栏的格式为“文本”,那么它将被导入像“是。
那么,将这些值重新格式化的快速解决scheme将是:
=IF(ISNUMBER(A1),A1*24&" A",A1)
要么:
=IF(ISNUMBER(A1),HOUR(A1)&" A",A1)