我有两列。列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
答案 0 :(得分:0)
您可以使用矩阵(数组)公式来实现此目的。请在单元格C2
中输入以下公式(假设您的表格从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说明您使用的是矩阵公式。如果按Enter
,则只有公式无效。然后,您可以以标准方式将公式复制到下面的单元格中。如果您想输入更多数据,则需要扩展范围$B$2:$B$5
。
您可以查看我的example sheet here。您还可以阅读有关矩阵公式in Microsoft documentation的更多信息。
编辑#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))
请注意在输入公式后使用Ctrl+Shift+Enter
。