【问题标题】:Insert characters into string in different locations将字符插入到不同位置的字符串中
【发布时间】:2015-02-20 11:59:26
【问题描述】:

我有一个类似于20141007023617 的字符串。我想让它看起来像这样2014-10-07T02:36:17ZTZ 对我来说非常重要。所以我也想插入它们。

回顾一下,

A1 持有这个字符串20141007023617

B1 应该包含这个字符串2014-10-07T02:36:17Z

【问题讨论】:

    标签: string excel text worksheet-function vba


    【解决方案1】:

    TEXT函数的解决方案:

    =TEXT(A1,"0000-00-00\T00\:00\:00\Z")
    

    【讨论】:

    • 一个非常干净和简单的解决方案!
    • 问题指定“A1 包含字符串”,而不是数字。您的解决方案返回 #VALUE 错误。 TEXT() 将数值表示为(格式化的)字符串。
    • 如果数字存储为字符串(文本),@AlanK TEXT 可以正常工作。如果您收到#VALUE,那么您可能在文本中有一些其他字符阻止转换为数字(例如不可见,如 CR、LF)
    • @BrakNicku 是的!尽管该问题未指定输入是数字(或纯数字字符串 - 隐含正确长度),但您的答案恰好符合示例。为教我一些东西投票。
    【解决方案2】:

    请尝试,录制宏并:

    =LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&MID(A1,7,2)&"T"&MID(A1,9,2)&":"&MID(A1,11,2)&":"&MID(A1,13,2)&"Z"
    

    【讨论】:

      【解决方案3】:

      除此之外,如果您想使用 VBA 进行操作,您可以使用以下代码。每当您运行此代码时,它都会将结果写入同一行的下一列。

      Sub arranges()
      Dim str As String
      
      
      str = ActiveCell.Value
      
      ActiveCell.Offset(0, 1).Value = Left(str, 4) & "-" & Mid(str, 5, 2) & "-" & Mid(str, 7, 2) _
                                      & "T" & Mid(str, 9, 2) & ":" & Mid(str, 11, 2) & ":" & Mid(str, 13, 2) & "Z"
      
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-01
        • 1970-01-01
        • 2022-01-17
        • 1970-01-01
        • 2011-05-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多