首页 文章

Excel Date to String转换

提问于
浏览
118

在Excel工作表的单元格中,我有一个Date值,如:

01/01/2010 14:30:00

我想将该日期转换为文本,并希望文本看起来与日期完全一样 . 所以 01/01/2010 14:30:00 的Date值应该看起来像 01/01/2010 14:30:00 ,但在内部它应该是Text .

我怎么能在Excel中这样做?

9 回答

  • 8

    所选答案对我不起作用,因为Excel仍未将文本转换为日期 . 这是我的解决方案 .

    假设在第一列A中,您有 2016/03/25 21:20:00 类型的数据,但存储为文本 . 然后在列B中写入 =DATEVALUE(A1) 并在列C中写入 =TIMEVALUE(A1) .

    然后在D列中做 =B1+C1 以添加日期和时间的数字格式 .

    最后,右键单击E列,将D中的值复制到E列,然后选择 Paste Special -> Paste as Values .

    突出显示E列中的数值并将数据类型更改为日期 - 我更喜欢使用表单 YYYY-MM-DD HH:MM:SS 的自定义日期 .

  • -1

    这是另一种选择 . 使用Excel内置的“Text to Columns”向导 . 它位于Excel 2007的“数据”选项卡下 .

    如果选择了一列,则文件类型和分隔符的默认值应该有效,然后它会提示您更改列的数据格式 . 选择文本会强制它为文本格式,以确保它不会存储为日期 .

  • 5

    在某些情况下,使用'字符预先将工作,但如果您保存为CSV并再次加载,这是不可能的 .

    '01/01/2010 14:30:00
    
  • 232

    如果您不使用编程,请执行以下操作(1)选择列(2)右键单击并选择格式单元格(3)选择“自定义”(4)在“类型:”下键入dd / mm / yyyy hh:mm :SS

  • 0
    =TEXT(A1,"DD/MM/YYYY hh:mm:ss")
    

    (24小时)

    =TEXT(A1,"DD/MM/YYYY hh:mm:ss AM/PM")
    

    (标准时间)

  • 1

    我不知道这个问题的发表年份;现在可能已经老了 . 所以,我希望我的回答更多地是在我发布之后对未来类似问题的参考 .

    我不知道那里的人是否已经给出了类似于我即将给出的答案,这可能会导致 - 我认为 - 最简单,最直接和最有效:如果有人已经给了它,我道歉,但我还没有看到它 . 在这里,我的答案使用CStr而不是TEXT:

    假设单元格A1包含日期,并使用VBA代码:

    Dim strDate As String

    '转换为字符串A1中包含的值(日期)
    strDate = CStr([A1] .Value)

    此后,您可以使用字符串函数(MID,LEFT,RIGHT,LEN,CONCATENATE(&)等)将其作为任何普通字符串进行操作 .

  • 4

    这是一个VBA方法:

    Sub change()
        toText Sheets(1).Range("A1:F20")
    End Sub
    
    Sub toText(target As Range)
    Dim cell As Range
        For Each cell In target
            cell.Value = cell.Text
            cell.NumberFormat = "@"
        Next cell
    End Sub
    

    如果您正在寻找没有编程的解决方案,则应将问题移至SuperUser .

  • 0

    在Excel 2010中,marg's answer仅适用于我在电子表格中导入的某些数据(已导入) . 以下解决方案适用于所有数据 .

    Sub change()
        toText Selection
    End Sub
    
    Sub toText(target As range)
    Dim cell As range
    Dim txt As String
        For Each cell In target
            txt = cell.text
            cell.NumberFormat = "@"
            cell.Value2 = txt
        Next cell
    End Sub
    
  • 0

    无法使TEXT()公式起作用

    最简单的解决方案是将粘贴复制到记事本中并返回到Excel,并在粘贴之前将列设置为Text

    或者你可以用这样的公式做同样的事情

    =DAY(A2)&"/"&MONTH(A2)&"/"&YEAR(A2)& " "&HOUR(B2)&":"&MINUTE(B2)&":"&SECOND(B2)

相关问题