我需要使用索引和匹配从另一列中的条件匹配的一列中提取数据

问题描述 投票:0回答:2

在这张表中,我有一个B1:C18的范围,我想在column C中返回G column值,其中所有值都与column B中的条件值匹配E1

但是我从C列中得到的只有顶级值,但不是全部(即Sep 2有两个值443472),但它只返回443

任何人都可以看看G1中的公式回报

={IF(ISERROR(INDEX($B$1:$C$18,SMALL(IF($B$1:$B$18=$E$1,ROW($B$1:$B$18)),ROW(1:1)),2)),"", INDEX($B$1:$C$18,SMALL(IF($B$1:$B$18=$E$1,ROW($B$1:$B$18)),ROW(1:1)),2))}

excel
2个回答
0
投票

在列中获取答案

好的,我检查了你的公式,它也是正确的。我已将其修改为Google表格中的ArrayFormula。检查一下。

公式1

=ArrayFormula(IF(ISERROR(INDEX($B$1:$C$18,SMALL(IF($B$1:$B$18=$E$1,ROW($B$1:$B$18)),ROW(1:1)),2)),"", INDEX($B$1:$C$18,SMALL(IF($B$1:$B$18=$E$1,ROW($B$1:$B$18)),ROW(1:1)),2)))

你也可以尝试这个公式 -

公式2

=ArrayFormula(IFERROR(INDEX($C$1:$C$18, SMALL(IF(E$1=$B$1:$B$18, ROW($C$1:$C$18),""), ROW())),""))

只需在相应列的单元格中复制公式即可。

在单个单元格中获取答案

将此数组公式用于Google表格 -

=ArrayFormula(TEXTJOIN(", ",TRUE,IF(B1:B18 = E1,C1:C18,"")))

它将聚合单个单元格中的所有值。


0
投票

也许你可以试试

=iferror(split(textjoin(", ", 1, filter(C2:C, B2:B=E1)), ", ", 1))

看看是否有效?

© www.soinside.com 2019 - 2024. All rights reserved.