Google Sheet - 如何用一个 table 进行 FULL OUTER JOIN?

Google Sheet - How to FULL OUTER JOIN with one table?

我想为我的锦标赛创建一个 tables。 我创建了一个 table 与一些球员和他们的联盟。

我想按联赛生成对接会 table,就像那样

我对google传播sheet感到虚弱。 我知道我不能将“JOIN”与“QUERY()”函数一起使用。 看来我需要使用“ArrayFormula()”和“VLOOKUP()”函数,但经过几个小时的尝试,我失败了。

如果你们中有人能帮助我,那就太好了!

这是一个 googlesheet 数据:https://docs.google.com/spreadsheets/d/19ThnwVme8f3Ee730w8lTAyEJE9YdxzLEfox8arl5Q4o/edit?usp=sharing

非常感谢,我希望我的问题很清楚:)

编辑:似乎我们受到 REPT() 函数中字符数的限制。如果除了答案或“解决方法”之外还有其他解决方案,请随时分享它:)

尝试:

=ARRAYFORMULA(UNIQUE(QUERY(SPLIT(IF(
 FLATTEN(SPLIT(REPT(CONCATENATE(IF(A3:A="";;A3:A&"♠"&B3:B&"♠"&C3:C)&"♦"); COUNTA(A3:A)); "♦"))<
 FLATTEN(SPLIT(CONCATENATE(REPT(IF(A3:A="";;A3:A&"♠"&B3:B&"♠"&C3:C)&"♦"; COUNTA(A3:A))); "♦")); 
 FLATTEN(SPLIT(REPT(CONCATENATE(IF(A3:A="";;A3:A&"♠"&B3:B&"♠"&C3:C)&"♦"); COUNTA(A3:A)); "♦"))&"♠"&
 FLATTEN(SPLIT(CONCATENATE(REPT(IF(A3:A="";;A3:A&"♠"&B3:B&"♠"&C3:C)&"♦"; COUNTA(A3:A))); "♦"));
 FLATTEN(SPLIT(CONCATENATE(REPT(IF(A3:A="";;A3:A&"♠"&B3:B&"♠"&C3:C)&"♦"; COUNTA(A3:A))); "♦"))&"♠"&
 FLATTEN(SPLIT(REPT(CONCATENATE(IF(A3:A="";;A3:A&"♠"&B3:B&"♠"&C3:C)&"♦"); COUNTA(A3:A)); "♦"))); "♠"); 
 "select Col1,Col2,Col4,Col5,Col6
  where Col1 <> Col4 
    and Col3 =  Col6")))

无限制:

=INDEX(QUERY(SPLIT(FLATTEN(IF(
 ROW(INDIRECT("A1:A"&COUNTA(A3:A)))<=TRANSPOSE(
 ROW(INDIRECT("A1:A"&COUNTA(A3:A))));;
 FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>"")&"♦"&TRANSPOSE(
 FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>"")))); "♦"); 
 "select Col4,Col5,Col1,Col2,Col6
  where Col2 is not null 
    and Col3 =  Col6
  order by Col4"; 0))