我需要使用索引和匹配从另一列中的条件匹配的一列中提取数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我需要使用索引和匹配从另一列中的条件匹配的一列中提取数据相关的知识,希望对你有一定的参考价值。
在这张表中,我有一个B1:C18
的范围,我想在column C
中返回G column
值,其中所有值都与column B
中的条件值匹配E1
。
但是我从C列中得到的只有顶级值,但不是全部(即Sep 2
有两个值443
和472
),但它只返回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 [重复] 有条件地将一列中的值替换为另一列中的值