Excel搜索字符串

时间:2012-09-06 12:04:15

标签: excel function

在excel单元格中搜索字符串的功能是什么,在第二个单元格中显示另一个字符串是否在第一个单元格中找到该字符串。

例如:

单元格A1包含文本:“这是一些示例文本”

我在另一张表的列中有一个预定义字符串列表,它们是:“text,sample1,sample2,string”(全部在单独的单元格中)

然后

单元格A2应该显示:text - 因为单词文本存在于单元格A1中,所以基本上只需要匹配从一个单元格到另一个单元格的特定单词。在现实生活中,A1会有很多单词,但我只需要找一个。

3 个答案:

答案 0 :(得分:2)

如果您的4个文本字符串列表在Sheet2中!$ D $ 1:$ D $ 4则在A2中尝试此公式

=LOOKUP(2^15,SEARCH(Sheet2!$D$1:$D$4,A1),Sheet2!$D$1:$D$4)

为您的示例返回“text”。通常,它会返回该范围内的最后匹配字

.....你也可以略微修改它以匹配整个单词

=LOOKUP(2^15,SEARCH(" "&Sheet2!$D$1:$D$4&" "," "&A1&" "),Sheet2!$D$1:$D$4)

假设单词之间只有空格(没有标点符号)

答案 1 :(得分:0)

假设您在Sheet1中输入的每个字符串都在检查它是否包含Sheet2中任何单元格的字符串。我格式化了我的代码,以便在B列中显示包含的文本,我可以向下拖动公式,它将检查A列中的所有字符串。您应该可以根据需要轻松修改格式。

=IF(ISNUMBER(SEARCH(Sheet2!$A$1,A1)),Sheet2!$A$1, IF(ISNUMBER(SEARCH(Sheet2!$A$2,A1)),Sheet2!$A$2))

基本上,它是一个很长的嵌套IF列表,用于检查Sheet2上的每个单元格。在Search括号内,它比较了Sheet2中单元格A1的值包含在单元格A1中。如果是,请将Sheet2中的值放入具有此公式的单元格中。如果没有,那么在Sheet2单元格A2中再做一次检查。等等你需要的。

备注:

SEARCH()函数不区分大小写。如果区分大小写,您可以将其替换为FIND()

如果您的单元格包含类似“text123”的内容,则会(例如)返回“text”,因为它包含字符串“text”。

这只会返回它在Sheet2上遇到的第一个单词。如果你需要它来匹配多个单词,请告诉我,我会找到一种方法来修改它。

答案 2 :(得分:0)

如果你想在另一个字符串中找到一个字符串,你通常要使用SEARCH()(不区分大小写)或FIND()(区分大小写)。

=FIND(A2,A1)
=SEARCH(A2,A1)

然后可以像下面这样检查:

=IF(ISERROR(FIND(A2,A1)),Text not found","Text Found")

如果你想在单个文本字段中找到一系列单元格,这会有点棘手,它可能需要一个数组公式,让我知道这是否是你想要的,我会看看我是否可以解决它