根据两个值阈值过滤列
Filtering Columns According to Two Value Thresholds
如果我最多只能有 2 个 Lateral
和最多 3 个 Zagueiro
,并且他们不能重复第 3 列中的值,如何我应该这样做吗?
我已经尝试将 QUERY
与多个 "Limit"
一起使用,并且已经尝试使用 FILTER(ISNA(MATCH()))
但在这两个选项中都没有找到所需的答案。
注意:Lateral
和Zagueiro
之间不能有先后之分,取值的先后顺序为准,越高越重要。
注2:可能恰好找到小于2个Lateral
或小于3个Zagueiro
示例数据:
Filipe Luís Lateral Flamengo
Willian Arão Zagueiro Flamengo
Aderlan Lateral Bragantino
Mariano Lateral Atlético-MG
Nathan Silva Zagueiro Atlético-MG
Tinga Lateral Fortaleza
Marcelo Benevenuto Zagueiro Fortaleza
Fabrício Bruno Zagueiro Vasco
Joaquim Lateral Vasco
示例预期结果:
Filipe Luís Lateral Flamengo
Aderlan Lateral Bragantino
Nathan Silva Zagueiro Atlético-MG
Marcelo Benevenuto Zagueiro Fortaleza
Fabrício Bruno Zagueiro Vasco
注3:Column 2
中的值完全分开是巧合,Zagueiro
可能在[=12=之上,在两个[=12=之间] ] 等等。没有特定的先后顺序,一切按照数据原来的顺序进行。
注4:Column 2
只会有提到的两个值,不会有其他的。
Link 到电子表格:
https://docs.google.com/spreadsheets/d/1JmX7V2zAYh-O0POOc0BpRp9ejcgLFRtsGZwlruRgHdY/edit?usp=sharing
尝试:
={ARRAY_CONSTRAIN(UNIQUE(FILTER(A1:C, B1:B="Lateral")), 2, 3);
ARRAY_CONSTRAIN(FILTER(A1:C, B1:B="Zagueiro", REGEXMATCH(C1:C,
TEXTJOIN("|", 1, FILTER(FILTER(C1:C, B1:B="Zagueiro"),
NOT(COUNTIFS(ARRAY_CONSTRAIN(UNIQUE(FILTER(C1:C, B1:B="Lateral")), 2, 3),
FILTER(C1:C, B1:B="Zagueiro"))))))), 3, 3)}
我在 E1 中使用以下公式添加了一个新的 sheet(“Erik Help”):
=ArrayFormula({VLOOKUP(ARRAY_CONSTRAIN(UNIQUE(FILTER(B1:B&C1:C,B1:B=B1)),2,1),{B1:B&C1:C,A1:C},{2,3,4},FALSE);VLOOKUP(ARRAY_CONSTRAIN(UNIQUE(FILTER(B1:B&C1:C,B1:B<>B1,ISERROR(VLOOKUP(C1:C,QUERY(VLOOKUP(ARRAY_CONSTRAIN(UNIQUE(FILTER(B1:B&C1:C,B1:B=B1)),2,1),{B1:B&C1:C,C1:C},2,FALSE),"Select *"),1,FALSE)))),3,1),{B1:B&C1:C,A1:C},{2,3,4},FALSE)})
如果我最多只能有 2 个 Lateral
和最多 3 个 Zagueiro
,并且他们不能重复第 3 列中的值,如何我应该这样做吗?
我已经尝试将 QUERY
与多个 "Limit"
一起使用,并且已经尝试使用 FILTER(ISNA(MATCH()))
但在这两个选项中都没有找到所需的答案。
注意:Lateral
和Zagueiro
之间不能有先后之分,取值的先后顺序为准,越高越重要。
注2:可能恰好找到小于2个Lateral
或小于3个Zagueiro
示例数据:
Filipe Luís Lateral Flamengo
Willian Arão Zagueiro Flamengo
Aderlan Lateral Bragantino
Mariano Lateral Atlético-MG
Nathan Silva Zagueiro Atlético-MG
Tinga Lateral Fortaleza
Marcelo Benevenuto Zagueiro Fortaleza
Fabrício Bruno Zagueiro Vasco
Joaquim Lateral Vasco
示例预期结果:
Filipe Luís Lateral Flamengo
Aderlan Lateral Bragantino
Nathan Silva Zagueiro Atlético-MG
Marcelo Benevenuto Zagueiro Fortaleza
Fabrício Bruno Zagueiro Vasco
注3:Column 2
中的值完全分开是巧合,Zagueiro
可能在[=12=之上,在两个[=12=之间] ] 等等。没有特定的先后顺序,一切按照数据原来的顺序进行。
注4:Column 2
只会有提到的两个值,不会有其他的。
Link 到电子表格:
https://docs.google.com/spreadsheets/d/1JmX7V2zAYh-O0POOc0BpRp9ejcgLFRtsGZwlruRgHdY/edit?usp=sharing
尝试:
={ARRAY_CONSTRAIN(UNIQUE(FILTER(A1:C, B1:B="Lateral")), 2, 3);
ARRAY_CONSTRAIN(FILTER(A1:C, B1:B="Zagueiro", REGEXMATCH(C1:C,
TEXTJOIN("|", 1, FILTER(FILTER(C1:C, B1:B="Zagueiro"),
NOT(COUNTIFS(ARRAY_CONSTRAIN(UNIQUE(FILTER(C1:C, B1:B="Lateral")), 2, 3),
FILTER(C1:C, B1:B="Zagueiro"))))))), 3, 3)}
我在 E1 中使用以下公式添加了一个新的 sheet(“Erik Help”):
=ArrayFormula({VLOOKUP(ARRAY_CONSTRAIN(UNIQUE(FILTER(B1:B&C1:C,B1:B=B1)),2,1),{B1:B&C1:C,A1:C},{2,3,4},FALSE);VLOOKUP(ARRAY_CONSTRAIN(UNIQUE(FILTER(B1:B&C1:C,B1:B<>B1,ISERROR(VLOOKUP(C1:C,QUERY(VLOOKUP(ARRAY_CONSTRAIN(UNIQUE(FILTER(B1:B&C1:C,B1:B=B1)),2,1),{B1:B&C1:C,C1:C},2,FALSE),"Select *"),1,FALSE)))),3,1),{B1:B&C1:C,A1:C},{2,3,4},FALSE)})