【问题标题】:Delete the string after the delimiter in excel删除excel中分隔符后的字符串
【发布时间】:2015-02-27 21:40:05
【问题描述】:

我有一个简单的问题。我正在分析一些数据并提出了这个问题。

下面是我在列中的值:

www.mysite.come/api/Customer?id=12333&name=jack
www.mysite.come/api/Department?id=52365&name=COP
www.mysite.come/api/Customer?id=13333&name=mathew

我想像这样过滤这些数据

www.mysite.come/api/Customer
 www.mysite.come/api/Department
www.mysite.come/api/Customer

请帮帮我。

【问题讨论】:

    标签: excel excel-formula excel-2010 excel-2007


    【解决方案1】:

    如果它就像删除之后的所有内容一样简单,包括?,那么就可以了:
    =LEFT(A:A,FIND("?", A1)-1)

    编辑:如果您想在没有? 时捕获#VALUE! 错误,只需使用IFERROR
    =IFERROR(LEFT(A:A,FIND("?", A1)-1), A1)

    示例行:

    www.mysite.come/api/Customer?id=12333&name=jack
    www.mysite.come/api/Department?id=52365&name=COP
    www.mysite.come/api/Customer?id=13333&name=mathew
    

    输出:

    www.mysite.come/api/Customer
    www.mysite.come/api/Department
    www.mysite.come/api/Customer
    

    【讨论】:

    • 太好了!!!有效。只需要多一点帮助。如果 ”?”列中没有,那么结果也应该出现。
    • 如果没有?,你想要什么结果?
    【解决方案2】:

    我认为您需要使用FINDLEFT 的组合。

    例如(其中 A1 包含您的原始值)

    =LEFT(A1, FIND("?", A1) -1)
    

    【讨论】:

    • ...但@mmmmmpie 最先到达!
    【解决方案3】:

    我不清楚您提到过滤器的意义,但您可能会将数据复制到另一列,选择后一列并使用查找/替换查找内容:

    ~?*  
    

    全部替换

    【讨论】:

      【解决方案4】:

      当列不包含“?”时处理是个好主意。为此,请使用 ISERROR() 函数,如下所示:

      =LEFT(A2, IF(ISERROR(FIND("?",A2))=TRUE,LEN(A2), (FIND("?",A2)-1)))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-27
        • 2021-08-05
        • 1970-01-01
        • 1970-01-01
        • 2016-03-13
        • 2017-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多