【问题标题】:Return multiple match index lookups into one cell with multiple criteria将多个匹配索引查找返回到具有多个条件的单元格中
【发布时间】:2018-08-25 16:00:23
【问题描述】:

所以我有一种情况,我需要在一个单元格中满足 2 个条件的列中返回所有结果。 我的桌子看起来像这样

+-----------+------+-------+
|    Job    | Type | Name  |
+-----------+------+-------+
| Tree      | AA   | Bob   |
| Apple     | FF   | John  |
| Banana    | FF   | John  |
| Grape     | CC   | James |
| Mango     | FF   | Paul  |
| Chocolate | AA   | Angus |
+-----------+------+-------+

​ 我目前使用这样的公式:

=IFERROR(INDEX(Table1[Job],MATCH(1,(Table1[Name]=B12) * (Table1[Type]="FF"),0)),"")

其中 B12 是查找名称。但是,如果我要写约翰,我只会得到苹果。我想要的是“苹果,香蕉”。 我该怎么做呢?

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    使用 TEXTJOIN 作为数组公式:

    =TEXTJOIN(", ",TRUE,IF((Table1[Name]=B12) * (Table1[Type]="FF"),Table1[Job],""))
    

    作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 确认,而不是 Enter。

    TEXTJOIN 是随 Office 365 Excel 引入的。

    【讨论】:

    • 嗨,谢谢。我偶然发现了一个使用 REPT 的类似但不同的公式,哪一个更适合用于性能? =TEXTJOIN(", ",1,REPT(Table1[Job],1*((Table1[Name]=B12)* (Table1[Type]="AA"))))
    • @DanielJ 从未将 REPT 用于此类事情,因此请随意测试。我怀疑你会发现两者之间有很大的不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 2015-03-07
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多