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

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

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

    我有一张Excel表格,上面写满了时间。

    它们的格式是这样的:1:00:15

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

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

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

    复制专栏 粘贴到记事本中 再复制一遍 选择性粘贴为文本

        2
  •  77
  •   0x6C38    9 年前

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

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

        3
  •  10
  •   LukStorms    7 年前

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

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

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

    容易的。要将时间值(如:1:00:15)更改为文本,可以使用“文本”功能。例如,如果时间值(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 年前

    复制到日期变量,然后将其转换为文本 format() . 例子:

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