【问题标题】:Return individual cell values from a wildcard search against a range into individual cells using Excel使用 Excel 将通配符搜索中的单个单元格值返回到单个单元格中
【发布时间】:2017-08-22 16:35:11
【问题描述】:

所以我一直在尝试在 Excel 中解决这个问题(Office 2016,Mac El Capitan,安装了最新更新),但到目前为止都失败了。

本质上,我想在一系列单元格(在本例中为 A2:A9)中搜索部分关键字 (A2)。因此,与此标准匹配的所有单元格都应出现在结果范围 (E2:E9) 中。我已经为此苦苦挣扎,因为我只能返回一个结果(例如 E2 中的一个行条目)。我曾尝试使用 INDEX 和 MATCH 进行此操作,但到目前为止都失败了。

在此之后,我将使用 vlookup 在 B2:B9 范围内查找相应的数量,这暂时有效。

最终的、期望的结果以图片的形式附上。

非常感谢您的帮助。

【问题讨论】:

  • 我这里有点走投无路,但我猜E4中的“狗”条目不应该在那里。

标签: excel-formula vlookup excel-2016 excel-match


【解决方案1】:

将以下公式应用于 E2 并根据需要向下复制。

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW(A:A)/ISNUMBER(SEARCH($C$2,A:A)),ROW(A1))),"no more entries")

在 F2 中使用以下公式并根据需要向下复制

=SUMIF(A:A,E2,B:B)

一些注意事项。

  1. 由于第一个公式在聚合函数中执行类似数组的计算,因此应避免完整的列引用。将 A:A 更改为 $A$2:$A$9 或任何您的范围。
  2. 假定 A 列充满了唯一名称
  3. 搜索不区分大小写。如果您需要将 SEARCH 更改为 FIND
  4. 如果您不想看到“没有更多条目”,请将其更改为“”

【讨论】:

    【解决方案2】:

    Cell E2输入以下公式

    =IFERROR(INDEX($A$2:$A$9,SMALL(IF(ISNUMBER(SEARCH($C$2,$A$2:$A$9)),ROW($A$2:$A$9)-1),ROW(1:1))),"")
    

    这是一个数组公式,所以通过按 Ctrl+Shift+Enter 来提交它。根据需要向下拖动/复制。

    然后在Cell F2中输入如下公式得到对应的数量

    =INDEX($B$2:$B$9,MATCH(E2,$A$2:$A$9,0))
    

    根据需要向下拖动/复制。参考图片。

    注意:SEARCH 函数不区分大小写。如果您正在寻找区分大小写的匹配项,请使用FIND 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      相关资源
      最近更新 更多