公式search1列中的数据和第2列中的数据并显示第2列中的数据

我有两列。 列A中的每个单元格包含完整的句子,列B中的每个单元格包含一个单词或短语。 我想检查列B中的任何单元格的内容是否出现在列A中的每个单元格中,并获取出现在列A中的列B的单元格/单元格的单词或短语。

Column A Column B Search Result Twenty One Twenty Twenty, One Five Boxes Ten Ten Words Thirty Ten Twenty Pens One Twenty 

您可以使用matrix(数组)公式来实现这一点。 请在C2单元格中input以下公式(假设您的表格从A1开始):

 =LEFT(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5;A2))=TRUE;$B$2:$B$5&", ";""));MAX(LEN(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5;A2))=TRUE;$B$2:$B$5&", ";"")))-2;0)) 

请确保在将公式粘贴到单元格后按Ctrl+Shift+Enter 这个组合对Excel表示你正在使用一个matrix公式。 如果按Enter那么公式将无法正常工作。 然后,您可以将公式以标准方式复制到下面的单元格中。 如果你想input更多的数据,你需要扩大范围$B$2:$B$5

你可以在这里查看我的示例表 。 您还可以阅读有关Microsoft文档中matrix公式的更多信息。

编辑#1美国语言环境中有一个不同的列表分隔符。 如果您使用美国语言环境,请尝试以下公式:

 =LEFT(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5,A2))=TRUE,$B$2:$B$5&", ","")),MAX(LEN(CONCAT(IF(ISNUMBER(SEARCH($B$2:$B$5,A2))=TRUE,$B$2:$B$5&", ","")))-2,0)) 

input公式后请记住使用Ctrl+Shift+Enter