首页 > 解决方案 > 如何从其他单元格的值中查找包含的值

问题描述

=IFERROR(INDEX($L$1:$L$100000,SMALL(IF(A$1=$H$1:$H$100000,ROW($L$1:$L$100000)- MIN(ROW($L$1:$L$100000))+1,""), ROW()-2)),"")

这是我现在使用的当前代码。它将 a1 与 h1 与 h100000 行进行比较,以查看 h 列是否具有 a1 值。如果 H 列有 a1 值,它将显示 l 列数据。但是,我想将代码更改为,如果 H 列包含(类似)a1,则返回数据 L 数据。

所以我尝试了下面的代码来实现这一点,但它没有做任何事情。

=IFERROR(INDEX($L$1:$L$100000,SMALL(IF("*"&A$1&"*"=$H$1:$H$100000,ROW($L$1:$L$100000)- MIN(ROW($L$1:$L$100000))+1,""), ROW()-2)),"")

我怎样才能使这个代码使它工作?

标签: excelif-statementindexingexcel-formulacontains

解决方案


使用 AGGREGATE 检索行号和 SEARCH 而不是字符串位置中子字符串的通配符。

=IFERROR(INDEX(L:L, AGGREGATE(15, 7, ROW($1:$99999)/ISNUMBER(SEARCH(A$1, H$1:H$99999)), ROW(1:1))), "")

SEARCH 不区分大小写;如果需要区分大小写的匹配,则将 SEARCH 替换为 FIND。


推荐阅读