过滤两列:如果第二列中存在一个值,则保留与一个 ID 关联的所有行

Filtering two columns: keep all the rows associated to one ID if exists a value in the second column

我有一个包含多个列的 table,但我需要根据两个列对其进行过滤,table 结构如下:

ID    Test     
1     A
1     B
1     C
2     B
2     D
3     A
4     A
4     C
4     D
5     B
5     C

我需要做的是保持所有行与一个 ID 相关联(如果存在测试为“A”的情况),那么过滤后的 table 应该是:

ID    Test     
1     A
1     B
1     C
3     A
4     A
4     C
4     D

有办法吗?

如果您有 Excel365 并且可以访问动态公式,请尝试以下 -

=FILTER(A1:B11,ISNUMBER(MATCH(A1:A11,UNIQUE(FILTER(A1:A11,B1:B11="A")),0)))

或者您可以使用:

=FILTER(A1:B11,COUNTIFS(A1:A11,A1:A11,B1:B11,"A"))


或者,根据您的评论:

=LET(X,COUNTIFS(B1:B11,B1:B11,L1:L11,"A"),INDEX(FILTER(B1:L11,X),SEQUENCE(SUM(X)),{1;11}))