If you don't mind helper columns, I can get there using 2:
- [C3] = TEXTJOIN("|",FALSE,A3:B3) -> "joined values"
- [E3] = IFERROR(INDEX($C$3:$C$14, MATCH(0, COUNTIF($E$2:E2, $C$3:$C$14), 0)), "") -> unique list of "joined values"
Then extract before and after delimiter "|"
- [F3] = LEFT(E3,FIND("|",E3)-1)
- [G3] = 0+MID(E3,LEN(F3)+2,255)
A similar approach but with all the bits and pieces decently out of sight within Named Formulas!
Similar to your solution in that it uses concatenation, but then I used MATCH rather than COUNTIF.
How I used to do it before salvation came in the form of Dynamic Arrays!