24 08 30.xlsm | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | |||
1 | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | |||
2 | 2 | 3 | 3 | 3 | 2 | 3 | 1 | 4 | 1 | 4 | 2 | 3 | 3 | 3 | 1 | 4 | |||||||
3 | 2 | 1 | 2 | 1 | 1 | 1 | 1 | 2 | 3 | 3 | 2 | 1 | 1 | 1 | 1 | 2 | 3 | 3 | |||||
4 | 2 | 4 | 2 | 3 | 1 | 1 | 3 | 1 | 2 | 3 | 2 | 4 | 2 | 3 | 1 | 1 | 3 | 1 | |||||
5 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||||||||||
6 | 3 | 1 | 1 | 3 | 4 | 2 | 4 | 1 | 1 | 4 | 3 | 1 | 1 | 3 | 4 | 2 | 4 | 1 | 1 | 4 | |||
7 | 1 | 2 | 1 | 4 | 2 | 4 | 1 | 2 | 3 | 3 | 1 | 2 | 1 | 4 | 2 | 4 | 3 | 3 | |||||
Unique pairs |
Cell Formulas | ||
---|---|---|
Range | Formula | |
L2:Q2,L7:S7,L6:U6,L5:M5,L3:S4 | L2 | =TRANSPOSE(FILTERXML("<p><c>"&SUBSTITUTE(TEXTJOIN("</c><c>",,UNIQUE(FILTERXML("<p><c>"&TEXTJOIN({"|","</c><c>"},,A2:J2)&"</c></p>","//c"))),"|","</c><c>")&"</c></p>","//c")) |
Dynamic array formulas. |
It is not a simple task with your excel version (or any version for that matter)Whoa! The complexity of the formula is way too difficult for me
The formula is for one row. It needs to be copied down from L2 to the other cells in column L if you want the results for multiple rows.Can we just simplify it by just doing one row instead of all four rows?
24 08 30.xlsm | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | |||
1 | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | X | Y | |||
2 | 2 | 3 | 3 | 3 | 2 | 3 | 1 | 4 | 1 | 4 | 2 | 3 | 3 | 3 | 1 | 4 | |||||||
Unique pairs |
Cell Formulas | ||
---|---|---|
Range | Formula | |
L2:Q2 | L2 | =TRANSPOSE(FILTERXML("<p><c>"&SUBSTITUTE(TEXTJOIN("</c><c>",,UNIQUE(FILTERXML("<p><c>"&TEXTJOIN({"|","</c><c>"},,A2:J2)&"</c></p>","//c"))),"|","</c><c>")&"</c></p>","//c")) |
Dynamic array formulas. |
The results was #NAME?. I doubled checked the formula but I got the same. Please help.I don't know if it's any better but:
Excel Formula:=TEXTSPLIT(TEXTJOIN(",",,(UNIQUE(TEXTSPLIT(TEXTJOIN({",",";"},TRUE,A2:J2),,";")))),",")
I don't know if it's any better but:
Excel Formula:=TEXTSPLIT(TEXTJOIN(",",,(UNIQUE(TEXTSPLIT(TEXTJOIN({",",";"},TRUE,A2:J2),,";")))),",")
=LET(f,FILTER(A2:J2,A2:J2<>""),s,SEQUENCE(COLUMNS(f)/2,,0),u,UNIQUE(INDEX(f,,s*2+{1,2})),ss,SEQUENCE(COUNT(u),,0),TRANSPOSE(INDEX(u,INT(ss/2)+1,MOD(ss,2)+1)))
Works great!!!!! You da Man! The Myth, and the Legend. I appreciated all your help.Another option, although not necessarily simplerExcel Formula:=LET(f,FILTER(A2:J2,A2:J2<>""),s,SEQUENCE(COLUMNS(f)/2,,0),u,UNIQUE(INDEX(f,,s*2+{1,2})),ss,SEQUENCE(COUNT(u),,0),TRANSPOSE(INDEX(u,INT(ss/2)+1,MOD(ss,2)+1)))