如果单元格包含某些文本,则将其他单元格中指定的文本

Sheet1中,我有一个不同链接的大个子,看起来像这样:

A,B http://www.shop.com/suppliers.html http://www.forum.com/phpBB2/viewtopic.php?t=6283&start= http://www.wikipedia.org http://www.website.com 

我想快速定义这是什么样的网站,例如:

  • 在A1中URL包含“供应商”,我想B1是“供应商”
  • 在A2中URL包含“viewtopic”,我想B2是“论坛”
  • 在A3中,URL包含“wiki”,我想B3为“Information”
  • 在A4中,URL不包含任何有用的东西(未在Sheet2中定义),我想B4是“未find”

有成千上万的这些“规则”的所有url和名单将不断增长。

因此,最好的解决办法是在Sheet2中拥有所有“规则”。 其中A列对应于*contains*和B列对应于所需的输出。

 AB suppliers Suppliers providers Suppliers /forum/ Forum viewtopic Forum Trad.aspx Forum wiki Information 

所以,最后我想让Sheet1像这样:

 AB http://www.shop.com/suppliers.html Suppliers http://www.forum.com/phpBB2/viewtopic.php?t=6283&start= Forum http://www.wikipedia.org Information http://www.website.com Not found 

任何人都可以帮忙

我build立了一个与你等价的表格。 命名表Types ,并inputcontainsoutput列标题

类型表

然后你可以使用这个公式:

 =IFERROR(LOOKUP(2,1/ISNUMBER(SEARCH(Types[Contains],A1)),Types[Output]),"Not Found") 

在这里输入图像说明

如果您select不使用表格,则可以用绝对范围参考replace表格参考

 eg: Types[Contains]:= Sheet2!$A$2:$A$6 

然而,在你的情况下,表结构的一个优点是,结构化的引用会自动扩展,因为你添加了等价。

在下面的示例中,我将查找表和值放在单个工作表上用于演示目的。

索引查找

B2中的公式是,

 =IFERROR(INDEX($AB$2:$AB$99, MIN(INDEX(ROW($1:$98)+(ISERROR(SEARCH(AA$2:AA$99, A2))+NOT(LEN(AA$2:AA$99)))*1E+99, , ))), "") 

根据需要填写。 为了您自己的目的进行转录时,请记住所有的范围都有相同的行数,尽pipe它们不必是相同的行。 AA2:A99,AB2:AB99和行(1:98)都有98行。