【问题标题】:Excel formula to search for one of multiple strings and return the stringExcel公式搜索多个字符串之一并返回字符串
【发布时间】:2018-07-27 21:55:06
【问题描述】:

我的名字带有称呼(例如 Mr. Mr. Mr. Dr.)。我正在努力寻找一个公式来搜索这些文本字符串是否存在,如果存在,则返回称呼。

所以,我希望公式查看“Dr. Nancy Briggs”并返回“Dr.”

我一直在尝试的版本包括: =IF(ISNUMBER(SEARCH({"Mr.","Mrs.","Dr."},C13)),LEFT(C13,FIND("",C13,1)-1),"")

=IF(OR(ISNUMBER(SEARCH("Mr.",C24)),ISNUMBER(SEARCH("Mrs.",C24)),ISNUMBER(SEARCH("Dr.",C24))),LEFT( C24,FIND(" ",C24,1)-1),"")

  • 称呼总是在前面,所以我可以使用 LEFT 函数提取它们。但是,理想情况下,我想从任何地方提取它们。

第二个公式有效,但很笨重。非常感谢您的帮助!

【问题讨论】:

    标签: arrays excel


    【解决方案1】:

    您可以使用嵌套的 IF:

     =IF(ISNUMBER(SEARCH("Mr.")),"Mr.",IF(ISNUMBER(SEARCH("Mrs.")),"Mrs.",IF(ISNUMBER(SEARCH("Dr.")),"Dr.","No Salutation")))
    

    如果您有 Office 365:

    您可以使用 CONCAT 作为数组公式:

    =CONCAT(IF(ISNUMBER(SEARCH({"Mr.","Mrs.","Dr."},C13)),{"Mr.","Mrs.","Dr."},"")
    

    作为数组公式,需要用 Ctrl-Shift-Enter 确认,而不是 Enter

    或 IFS()

    =IFS(ISNUMBER(SEARCH("Mr.")),"Mr.",ISNUMBER(SEARCH("Mrs.")),"Mrs.",ISNUMBER(SEARCH("Dr.")),"Dr.",TRUE,"No Salutation")
    

    唯一真正的变化是我没有尝试从字符串中提取返回值,因为您只想要实际的称呼。

    【讨论】:

    • 非常感谢!第二个正是我要找的!
    猜你喜欢
    • 2018-05-05
    • 2015-12-18
    • 1970-01-01
    • 2014-07-26
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多