【问题标题】:Remove everything before specific character if found in Excel如果在 Excel 中找到,则删除特定字符之前的所有内容
【发布时间】:2017-03-15 18:49:47
【问题描述】:

我想删除冒号之前的所有内容,以便只留下名称。我当前的公式可以做到这一点,但如果没有冒号,它会出现 #!Value 错误。如果不存在“:”,它应该不会改变任何内容,只需复制确切的名称即可。

C 列

        key1:john
        key1:mike
        key1:edmund
        hello
        key3:edmund

etc

我的公式 =IFERROR(RIGHT(C1,LEN(C1)-FIND(":",C1)),"")

D 列

        john
        mike
        edmund
       #!Value
        edmund

etc

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您的公式几乎可以做到,只需进行以下更改:

    =IFERROR(RIGHT(C1,LEN(C1)-FIND(":",C1)), C1) 
                                              ^----- replaced "" with C1 
    

    这个公式给出了结果:

    john
    mike
    edmund
    hello
    edmund
    

    【讨论】:

    • 这样可行,但现在我有另一个问题。现在我有 2 个单独的列,一个是原始的,另一个是公式(我想要的那个)。我想从我的 excel 表中完全删除第一个 C 列,但如果这样做,新的 D 列将无法引用它
    • 有没有办法用应用的公式替换现有列,全部在该列中?
    • 在 D 列中获得公式结果后,复制 D 列并选择“粘贴值”选项。这将用公式计算的值替换公式。
    【解决方案2】:

    考虑:

    =IF(ISERROR(FIND(":",A1)),A1,MID(A1,FIND(":",A1)+1,9999))
    

    【讨论】:

      【解决方案3】:

      这是我解决问题的方法:

      =IF(ISNUMBER(SEARCH(":",C1)),RIGHT(C1,LEN(C1)-FIND(":",C1)),C1)
      

      【讨论】:

        猜你喜欢
        • 2015-03-02
        • 2022-09-22
        • 2021-08-22
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多