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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我需要使用索引和匹配从另一列中的条件匹配的一列中提取数据相关的知识,希望对你有一定的参考价值。

在这张表中,我有一个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))}

答案

在列中获取答案

好的,我检查了你的公式,它也是正确的。我已将其修改为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,"")))

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

另一答案

也许你可以试试

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

看看是否有效?

以上是关于我需要使用索引和匹配从另一列中的条件匹配的一列中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 dplyr [重复] 有条件地将一列中的值替换为另一列中的值

将一列中的文本与另一列匹配(vlookup + like)

返回查询的所有行,其中一列中的字符串值与另一列中的字符串值匹配

用熊猫计算另一列中的正则表达式匹配项

如何检查和删除一列中的字符串是否与R中另一列中的字符串匹配

Pyspark:如何根据另一列中的匹配值从数组中的第一次出现中选择直到最后的值