【问题标题】:Excel Formula - If contains text, result textExcel 公式 - 如果包含文本,则为结果文本
【发布时间】:2014-11-15 19:46:06
【问题描述】:

我遇到了一个奇怪的 Excel 问题,让我心烦意乱。基本上,这就是我所拥有的:

A 列包含文本字符串,其中都包含公司名称和一堆其他信息。我想去掉那些名字。我有一个我正在搜索的名字的列表。

**Contractor**
CompanyA
CompanyB
CompanyC
CompanyD

还有这样的字符串:

CompanyA REQ# G-FMR-036 PT 2
CompanyA Pad AN Structural Steel ()
COMPANYC REQ# 54
CompanyA REQ# G-FMR-049

我想要的是返回该字符串中出现的任何公司名称的公式。我的第一个想法是 IF 和 SEARCH 的巨大嵌套公式,但我知道必须有更好的方法。

【问题讨论】:

  • 您在使用 excel 时遇到问题?
  • 是的,否则这会容易一些。我宁愿在没有 VBA 的情况下这样做,但这将是我的下一步行动。
  • 你的历史表明你对 python 很感兴趣,我们可以使用它吗?
  • 我希望。我为其构建此模板的雇主仅在 Excel 中工作。
  • 如果公司名称以字符串开头,并且不包含空格,那么简单的 =LEFT(string,FIND(" ",A1)-1) 就可以了。

标签: excel excel-formula excel-2010


【解决方案1】:

在 A1:A4 中搜索列表,在 B1:B4 中搜索公司名称列表,array formula,使用 CtrlShiftEnter 输入 会做到的:

=INDEX($B$1:$B$4,MATCH(TRUE,ISNUMBER(SEARCH($B$1:$B$4,A1)),0))

【讨论】:

    【解决方案2】:

    有点杂乱无章,但比嵌套的 IF 更好:

    我正在解释您上面给出的示例(4 家公司);你应该能够弄清楚如何扩展它。

    在 A 列中有包含公司名称和其他内容的字符串。假设 A1 有一些列标题,并且您的 4 个字符串在 A2、A3、A4、A5 中。

    在单元格 C1、D1、E1、F1 中有四个“干净”的公司名称。

    在C2中有这个公式:

    =IF(ISERROR(FIND(UPPER(C$1), UPPER($A2))),"",C$1)
    

    然后将单元格 C2 复制到 C2:F5 中的所有单元格。公式将自动更新以适合每个单元格。

    然后,在单元格 H2 中有这个公式:

    =C2&D2&E2&F2
    

    然后将其复制/粘贴到 H3、H4、H5。

    在 H 列中,您将获得所需的内容。

    当然,这假设您在 A 列的每个单元格中只有一个匹配的公司名称,并且名称与单元格 C1:F1 中的公司名称完全相同(直到区分大小写)。

    【讨论】:

      【解决方案3】:

      我认为某些公司名称包含空格,否则您可以使用:

      =left(a1,find(" ",a1)-1)
      

      如果您需要将字符串的内容与公司列表进行比较,则使用命名范围“CompanyList”中的列表;每行一个条目;您可以尝试以下方法:

      =IFERROR(LOOKUP(2,1/ISNUMBER(SEARCH(CompanyList&"*",A1)),CompanyList),"Not in List")
      

      但是,如果某些名称相似,则需要注意列表中的顺序,因为公式将返回匹配的最后一个条目。所以你想把公司列表中最长的字符串放在最后。

      【讨论】:

        【解决方案4】:

        这是我迄今为止创建的,尽管我认为必须有比诸如哇这样的嵌套公式更好的方法。我的意思是,它有效,但它让我想哭。

        =IF(ISNUMBER(SEARCH(T$3,B3)),"CompanyA",IF(ISNUMBER(SEARCH(T$4,B3)),"CompanyB",IF(ISNUMBER(SEARCH(T$5,B3)),"CompanyC",IF(ISNUMBER(SEARCH(T$6,B3)),"CompanyD","Other"))))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-21
          • 2021-01-11
          • 1970-01-01
          • 2022-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多