在Excel中将时间字段转换为字符串

38

我有一个充满时间的 Excel 表格。

它们的格式看起来像这样:1:00:15

但是,如果我更改单元格的格式为文本,它们将变成时间的基础数字表示形式:0.041840278

如何将单元格转换为文本单元格,同时又保留其中的时间?

6个回答

88

这种情况在Excel中总是很麻烦,因为一旦Excel将单元格转换为时间,它们就会以数字形式存储。以下是我知道的最好的方法:

假设您的时间从第1行开始在A列中。 在B1单元格中输入此公式:=TEXT(A1,"hh:mm:ss AM/PM") ,然后将公式向下拖动到列B中的数据末尾。 选择列B中的值,复制,进入列C并选择“特殊粘贴”,然后选择“值”。 选择刚刚复制到列C中的单元格,并将它们格式化为“文本”。


5
我必须点赞这个回答,因为我无法相信另一个答案被接受了,这让 Stack Overflow 看起来像个笑话! - Lunatik
8
是的,因为当答案仍然归结为“粘贴为文本”时,花费额外时间输入公式是没有意义的。 - Gareth Simpson
这对我有用。上面的第一个答案没有让我操作包含时间的单元格,即使将某些内容连接到它上面仍然会返回Excel时间值。即使单元格输入以“'”开头,这种情况仍然发生。 - andreithegiant

34

复制该列

将其粘贴到记事本中

再次复制

选择“文本”选项后进行特殊粘贴


18
如果这是一个编程问题,那么答案就没有用处。 - Account deleted
2
这可能有些作弊,但它完全解决了我一个让人抓狂的经历。 - overgroove
1
这是处理大于24小时数值的最快方法,因为TEXT方法会自动丢弃所有剩余的天数(24小时单位)。另一方面,通过复制,您可以获得数值(大约),然后乘以24以恢复小时数! - user121391

13

如果您想将这些数字值显示为时间,则将单元格格式更改为时间格式。

如果您想在另一个单元格中将其转换为文本:

=TEXT(A1,"hh:mm:ss")

=TEXT(A1,"hh:mm:ss") 是正确的。 - sj59
在 Excel 函数中使用 ,; 实际上是您 Windows 的区域设置:列表分隔符。在我的电脑上,它被设置为 ; - LukStorms

5

很容易。要将类似于1:00:15这样的时间值转换为文本,您可以使用“TEXT”函数。例如,如果您的时间值(1:00:15)包含在单元格“A1”中,则可以通过执行以下操作将其转换为文本:Text(A1, "h:mm:ss")。结果看起来仍然相同:1:00:15。但请注意,这一次,它已经成为了一个文本值。


在 Mac 上的 Excel 16.5 中,我得到了 "h:02:00"。 - philomath

1

以下方法适用于我:

  • 首先将内容,例如“1:00:15”,复制到记事本中
  • 然后选择需要从记事本中复制文本的新列
  • 接着右键点击该列并选择“单元格格式”选项,在弹出的窗口中选择“数字”选项卡,并在其中选择“文本”选项
  • 现在将记事本中的内容复制并粘贴到Excel中的该列中。它将是文本,但格式为“1:00:15”

0
将其复制到一个日期变量,然后使用 format() 将其转换为文本。示例:
Function GetMyTimeField()
    Dim myTime As Date, myStrTime As String

    myTime = [A1]
    myStrTime = Format(myTime, "hh:mm")
    Debug.Print myStrTime & " Nice!"

End Function

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接