代码之家  ›  专栏  ›  技术社区  ›  Gareth Simpson

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

  •  38
  • Gareth Simpson  · 技术社区  · 16 年前

    我有一张满是时间的excel表格。

    它们的格式如下:1:00:15

    但是,如果我将单元格的格式更改为文本,它们将更改为时间的底层数字表示:0.041840278

    如何将单元格转换为文本单元格,但仍有时间?

    6 回复  |  直到 16 年前
        1
  •  23
  •   Aditya Mukherji    16 年前

    这种情况在Excel中总是很麻烦,你必须使用函数转换值,因为一旦Excel将单元格转换为时间,它们就会在内部存储为数字。以下是我所知道的最好的方法:

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

        2
  •  77
  •   0x6C38    9 年前

    复制该列 将其粘贴到记事本中 再次复制 将特殊内容粘贴为文本

        3
  •  10
  •   LukStorms    7 年前

    如果要将这些数值显示为时间,请将单元格的格式更改为“时间”。

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

    =TEXT(A1,"hh:mm:ss")
    
        4
  •  5
  •   Mark Chin    15 年前

    容易的。要将1:00:15这样的时间值更改为文本,可以使用“text”函数。例如,如果您的时间值(1:00:15)包含在单元格“A1”中,则可以通过执行:text(A1,“h:mm:ss”)将其转换为文本。结果看起来还是一样的:1:00:15。但请注意,这一次,它已经变成了一个文本值。

        5
  •  0
  •   community wiki 3 revs, 2 users 79% Prakash Naykodi    12 年前

    下面的对我有用

    • 首先在记事本中复制内容“1:00:15”
    • 然后选择一个新列,您需要从记事本中复制文本。
    • 然后右键单击并选择格式单元格选项,在该选项中选择数字选项卡,在该选项卡中选择选项“文本”。
    • 现在从记事本复制内容并粘贴到此Excel列中。它将是文本,但格式为“1:00:15”。
        6
  •  0
  •   Makah    8 年前

    复制到Date变量,然后将其转换为Text format() 示例:

    Function GetMyTimeField()
        Dim myTime As Date, myStrTime As String
    
        myTime = [A1]
        myStrTime = Format(myTime, "hh:mm")
        Debug.Print myStrTime & " Nice!"
    
    End Function