In addition on my last question Google Sheet - How to FULL OUTER JOIN with one table?, I see REPT() function is limited with 32k characters.
How can we deal with it to make a FULL OUTER JOIN ?
In addition, you can see an example with 2 sheets on https://docs.google.com/spreadsheets/d/19ThnwVme8f3Ee730w8lTAyEJE9YdxzLEfox8arl5Q4o/edit?usp=sharing
Thanks a lot for your answers :)
try:
=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(QUERY(
TRANSPOSE(QUERY(UNIQUE(IF(INDEX(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>""))), "♠"),,1)<INDEX(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>""))), "♠"),,2), QUERY(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>""))), "♠"),
"select Col1,Col2", 0), QUERY(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C, A3:A<>""))), "♠"),
"select Col2,Col1", 0))),
"where Col1<>Col2", 0)),,9^9)), "♦ ", 1, 1),
"select Col1,Col2,Col4,Col5,Col6
where Col1 <> Col4
and Col3 = Col6", 0))
=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(QUERY(
TRANSPOSE(QUERY(UNIQUE(IF(INDEX(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>""))); "♠");;1)<INDEX(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>""))); "♠");;2); QUERY(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>""))); "♠");
"select Col1,Col2"; 0); QUERY(SPLIT(FLATTEN(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>"")&"♠"&TRANSPOSE(
FILTER(A3:A&"♦"&B3:B&"♦"&C3:C; A3:A<>""))); "♠");
"select Col2,Col1"; 0)));
"where Col1<>Col2"; 0));;9^9)); "♦ "; 1; 1);
"select Col1,Col2,Col4,Col5,Col6
where Col1 <> Col4
and Col3 = Col6"; 0))
=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 Col6,Col4"; 0))