【问题标题】:Excel index search using a wildcard character ("*")使用通配符(“*”)进行 Excel 索引搜索
【发布时间】:2017-07-27 19:56:00
【问题描述】:

我正在尝试使用 INDEX 搜索而不是 VLOOKUP,因为我想在一个单元格中显示所有关联的单元格和一个字符串。例如,如果我的字符串是“Bob”,我希望能够在 B 列中搜索“Bob”的所有实例,然后从 C 列生成所有关联值。这将在不同列的其他位置垂直显示。

这是我目前用来执行此操作的 website 的公式:

=IFERROR(INDEX($B$1:$C$1188,SMALL(IF((D$2=$B$1:$B$1188),ROW($B$1:$B$1188)-MIN(ROW($B$1:$B$1188))+1,""),ROW(A1)),2),"")

但是,我的数据并不完美而且很大,所以我希望能够使用通配符'',所以我搜索'Bo' & "" 并返回所有值以“Bo”开头的 B 列。然后将公式修改为:

=IFERROR(INDEX($B$1:$C$1188,SMALL(IF((D$2 & "*"=$B$1:$B$1188),ROW($B$1:$B$1188)-MIN(ROW($B$1:$B$1188))+1,""),ROW(A1)),2),"")

不幸的是,这似乎不起作用。我也在更小的规模上尝试过,但它仍然无法正常工作。

【问题讨论】:

    标签: excel excel-formula vlookup


    【解决方案1】:

    使用这个:

    =IFERROR(INDEX(C:C,AGGREGATE(15,6,ROW($B$1:$B$1188)/(LEFT($B$1:$B$1188,LEN($D$2))=$D$2),ROW(1:1))),"")
    

    【讨论】:

    • 我玩过这个,但它似乎不起作用。但是,我确实意识到核心问题在于D$2=$B$1:$B$1188 部分。这将返回一个数组,如 {TRUE、FALSE、FALSE、TRUE 等}。但由于某种原因,如果你这样做D$2 & "*"=$B$1:$B$1188,它会返回所有 FALSE。
    猜你喜欢
    • 1970-01-01
    • 2015-05-12
    • 2012-10-11
    • 2011-03-23
    • 2019-03-08
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    相关资源
    最近更新 更多