【问题标题】:Formula to search data in 1 column and from data in 2nd column and display data of 2nd column用于搜索 1 列中的数据和从第 2 列中的数据中搜索并显示第 2 列中的数据的公式
【发布时间】:2016-11-18 00:01:08
【问题描述】:

我有两列。 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

【问题讨论】:

    标签: excel


    【解决方案1】:

    您可以使用矩阵(数组)公式来实现这一点。请在单元格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

    【讨论】:

    • 它没有用。突出显示代码中的 $B$5 部分。
    • 对不起,我不明白这个问题。您是否尝试下载我的示例表?您可以在其中看到一个工作示例。
    • 也许您的 Office 中有一个逗号作为参数分隔符。请尝试在您的 Excel 文件中将 ; 替换为 ,
    • 这个修复有帮助吗?
    猜你喜欢
    • 2018-03-14
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    相关资源
    最近更新 更多