如果单元格包含某些文本,则将指定的文本放入其他单元格
If cells contains a certain texts then put a specified texts in other cells
在 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 包含 "suppliers",我希望 B1 为 "Suppliers"
- 在 A2 中 URL 包含 "viewtopic",我希望 B2 为 "Forum"
- 在 A3 中 URL 包含 "wiki",我希望 B3 为 "Information"
- 在 A4 中,URL 不包含任何有用的东西(未在 Sheet2 中定义),我希望 B4 为“Not
找到
所有 URL 中有数千个这样的 "rules",而且这个列表会不断增加。
因此,最好的解决方案是在 Sheet2 中包含所有 "rules"。其中 A 列对应于 *contains*
,B 列对应于所需的输出。
A B
suppliers Suppliers
providers Suppliers
/forum/ Forum
viewtopic Forum
Trad.aspx Forum
wiki Information
所以,最后我希望 Sheet1 像这样:
A B
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
有人可以帮忙吗?
在下面的示例中,出于演示目的,我将查找 table 和值放在一个工作表中。
B2中的公式为,
=IFERROR(INDEX($AB:$AB, MIN(INDEX(ROW(:)+(ISERROR(SEARCH(AA:AA, A2))+NOT(LEN(AA:AA)))*1E+99, , ))), "")
根据需要填写。在出于您自己的目的转录时,请记住所有范围都具有相同的行数,尽管它们不一定是相同的行。 AA2:A99、AB2:AB99 和 Row(1:98) 都有 98 行。
我用你的等效项设置了一个table;将 table 命名为 Types
,并输入 contains
和 output
的列 headers
然后您可以使用这个公式:
=IFERROR(LOOKUP(2,1/ISNUMBER(SEARCH(Types[Contains],A1)),Types[Output]),"Not Found")
如果您选择不使用 table,您可以将 table 引用替换为绝对范围引用
eg: Types[Contains]:= Sheet2!$A:$A
但是,在您的情况下,Table 结构的一个优点是结构化引用会在您添加等效项时自动扩展。
在 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 包含 "suppliers",我希望 B1 为 "Suppliers"
- 在 A2 中 URL 包含 "viewtopic",我希望 B2 为 "Forum"
- 在 A3 中 URL 包含 "wiki",我希望 B3 为 "Information"
- 在 A4 中,URL 不包含任何有用的东西(未在 Sheet2 中定义),我希望 B4 为“Not 找到
所有 URL 中有数千个这样的 "rules",而且这个列表会不断增加。
因此,最好的解决方案是在 Sheet2 中包含所有 "rules"。其中 A 列对应于 *contains*
,B 列对应于所需的输出。
A B
suppliers Suppliers
providers Suppliers
/forum/ Forum
viewtopic Forum
Trad.aspx Forum
wiki Information
所以,最后我希望 Sheet1 像这样:
A B
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
有人可以帮忙吗?
在下面的示例中,出于演示目的,我将查找 table 和值放在一个工作表中。
B2中的公式为,
=IFERROR(INDEX($AB:$AB, MIN(INDEX(ROW(:)+(ISERROR(SEARCH(AA:AA, A2))+NOT(LEN(AA:AA)))*1E+99, , ))), "")
根据需要填写。在出于您自己的目的转录时,请记住所有范围都具有相同的行数,尽管它们不一定是相同的行。 AA2:A99、AB2:AB99 和 Row(1:98) 都有 98 行。
我用你的等效项设置了一个table;将 table 命名为 Types
,并输入 contains
和 output
然后您可以使用这个公式:
=IFERROR(LOOKUP(2,1/ISNUMBER(SEARCH(Types[Contains],A1)),Types[Output]),"Not Found")
如果您选择不使用 table,您可以将 table 引用替换为绝对范围引用
eg: Types[Contains]:= Sheet2!$A:$A
但是,在您的情况下,Table 结构的一个优点是结构化引用会在您添加等效项时自动扩展。