我有一个充满时间的 Excel 表格。
它们的格式看起来像这样:1:00:15
但是,如果我更改单元格的格式为文本,它们将变成时间的基础数字表示形式:0.041840278
如何将单元格转换为文本单元格,同时又保留其中的时间?
我有一个充满时间的 Excel 表格。
它们的格式看起来像这样:1:00:15
但是,如果我更改单元格的格式为文本,它们将变成时间的基础数字表示形式:0.041840278
如何将单元格转换为文本单元格,同时又保留其中的时间?
这种情况在Excel中总是很麻烦,因为一旦Excel将单元格转换为时间,它们就会以数字形式存储。以下是我知道的最好的方法:
假设您的时间从第1行开始在A列中。 在B1单元格中输入此公式:=TEXT(A1,"hh:mm:ss AM/PM")
,然后将公式向下拖动到列B中的数据末尾。 选择列B中的值,复制,进入列C并选择“特殊粘贴”,然后选择“值”。 选择刚刚复制到列C中的单元格,并将它们格式化为“文本”。
复制该列
将其粘贴到记事本中
再次复制
选择“文本”选项后进行特殊粘贴
如果您想将这些数字值显示为时间,则将单元格格式更改为时间格式。
如果您想在另一个单元格中将其转换为文本:
=TEXT(A1,"hh:mm:ss")
,
或 ;
实际上是您 Windows 的区域设置:列表分隔符。在我的电脑上,它被设置为 ;
。 - LukStorms很容易。要将类似于1:00:15这样的时间值转换为文本,您可以使用“TEXT”函数。例如,如果您的时间值(1:00:15)包含在单元格“A1”中,则可以通过执行以下操作将其转换为文本:Text(A1, "h:mm:ss")。结果看起来仍然相同:1:00:15。但请注意,这一次,它已经成为了一个文本值。
以下方法适用于我:
format()
将其转换为文本。示例:Function GetMyTimeField()
Dim myTime As Date, myStrTime As String
myTime = [A1]
myStrTime = Format(myTime, "hh:mm")
Debug.Print myStrTime & " Nice!"
End Function