获取所有匹配值并根据另一列中第一个出现的值按顺序返回所有匹配项的公式

时间:2020-02-26 18:30:24

标签: excel excel-formula

这很有趣,我甚至不确定是否可以使用公式来完成。我可以用一个宏来做,但是我想要一个公式。

我有2组数据。第一组包含一些日期,一个真/假字段和一个ID号。第二组数据包含一些日期和ID号以及一个空白列。现在,我需要在第二个数据集中找到ID编号的第一个匹配项,然后基于该值检查第一个数据集是否匹配数字,然后在第三列中检查value是否为false。如果该值为假,则从第二列返回日期。

现在,如果我只希望第一次出现,但我需要获得所有匹配项,就可以通过vlookup自己进行操作。可以忽略第二列中的日期,它们不是公式的一部分。

以下是应用公式后数据应显示的示例。我需要返回错误的日期。我知道我可以将其构建为函数,但如果可能的话,我真的需要做一个公式。

更新:

我确实找到了JOINTEXT(),但是在Excel 2013中不起作用:|所以这是不可能的。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用INDEXAGGREGATE组合:

=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW(A:A)/((G2=A:A)*(0=--(C:C))),COUNTIF($G$2:G2,G2))),"")

在我的示例中,列C中的值是布尔值。如果您有文字,则将公式(0=--(C:C))的一部分更改为("FALSE"=C:C)

enter image description here