MS Excel:搜索,查找和提取包含文本字符串的特定文本单元格

时间:2015-01-27 16:04:06

标签: string text find excel-formula

虽然,我看过相对相似或贴心的帖子

使用MS Excel MS Excel 2010,我希望能够搜索Cell Range(列A1:A25),以查找Cell String(Column C2)中的特定文本是否与Cell Range(A1:A26)匹配然后输出在相同或相邻单元格中找到的相应匹配关键字结果。如果找不到匹配的文本,则显示“未找到匹配”

虽然我正在使用的下面显示的示例公式确实有效,但只表示它在Cell范围内找到或未找到单词我需要它返回找到的实际匹配关键字文本与“FOUND”或“NOT FOUND” ”

= IF(SUM(IFERROR(FIND(A1:A26,C2),0))> 0,“FOUND”,“NOT FOUND”)

示例:

Cell String在单元格C2中包含以下文本:

“昨天我在后院找到了一只失去的德国谢泼德”

关键字搜索字:第A1列:A26 狗的类型 购买affenpinscher 阿富汗猎犬 Airedale Terrier 秋田 阿拉斯加雪橇犬 美国猎狐犬 美国斯塔福德郡梗 美国水猎犬 安那托利亚牧羊犬 法国斗牛犬 德国杜宾犬 德国牧羊犬 德国短毛指针 德国Wirehaired指针 巨型雪纳瑞犬 Imaal Terrier的格伦 金毛猎犬 戈登塞特 大丹犬 大瑞士山 大比利牛斯山脉 灰猎犬 鹞 爱尔兰塞特犬 爱尔兰梗

返回并显示结果/答案=德国谢泼德

如果可能,请告诉我,因为我非常感谢您解决我的问题。

Miaka3

2 个答案:

答案 0 :(得分:0)

这不是Excel的设计目标,但您可以使用辅助列来完成它。在B处插入一个新列(这会将C2移动到D2)。然后将此公式粘贴到B2:

=IF(ISERROR(FIND(A2,D$2)),"",A2)

将该公式填写到A27(你说的是A26,但如果你包括标题“TYPE OF DOGS”,那么你的例子就转到了A27)。只有当它包含在D2中的文本中时,才会输出狗的品种。

最后,转到您想要包含输出的任何单元格,然后粘贴:

=CONCATENATE(B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27)

答案 1 :(得分:0)

假设您正在列A中搜索C列中的字符串,请在B中键入此数组公式:

=IFERROR(INDEX($C$2:$C$6,MAX(IF(ISERROR(FIND($C$2:$C$6,A2)),-1,1)*(ROW($C$2:$C$6)-ROW($C$2)+1))), "None")

您可以在此处看到我在C2C6中有多个字符/字符串的搜索列表。如果找到其中一个搜索字符串,它将列在B列中,否则将显示"None"

enter image description here

这项工作的关键是将上述公式复制到cel B2中,当您仍处于编辑模式时,按Ctrl+Shift+Enter而不是像往常一样只按Enter。如果在点击三个组合键后看到公式中添加了{和},则会知道它可以正常工作。之后,您可以将公式复制到A25或您需要的任何地方。

请注意,您可以根据需要更长或更短的搜索列表,只需确保更新公式以反映范围。您需要在C列中填写所有狗品种,并将公式中的每个$C$2:$C$6更改为等于您的搜索列表范围。并且,请记住,对数组公式的任何更改都需要Ctrl+Shift+Enter才能正常工作。