过滤两列:如果第二列中存在一个值,则保留与一个 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}))
我有一个包含多个列的 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}))