Xlambda
Well-known Member
- Joined
- Mar 8, 2021
- Messages
- 860
- Office Version
- 365
- Platform
- Windows
AJOIN arrays Join, same functionality as in Power Querry join/merge scenario called Full Outer. Calls ALMERGE , AMERGE , APPEND2V
Excel Formula:
=LAMBDA(l,r,klf,krt,
LET(kl,UNIQUE(IF(klf=0,1,klf),1),kr,UNIQUE(IF(krt=0,1,krt),1),
cl,COLUMNS(l),ql,SEQUENCE(,cl),cr,COLUMNS(r),qr,SEQUENCE(,cr),
al,ALMERGE(r,l,kr,kl),a,AMERGE(l,r,kl,kr),c,COLUMNS(a),s,SEQUENCE(,c),y,FILTER(qr,ISNA(XMATCH(qr,kr))),
d,COLUMNS(l),x,XLOOKUP(s,kl,kr),z,IF(s<=d,x,INDEX(y,s-d)),v,INDEX(al,SEQUENCE(ROWS(al)),z),
ml,OR(ISNA(XMATCH(kl,ql))),mr,OR(ISNA(XMATCH(kr,qr))),
IF(OR(ml,mr),"check keys",APPEND2V(a,v,))
)
)
LAMBDA 7.0.xlsx | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | |||
1 | PQ name: Full Outter (Left Outter+non matching in right array) | PQ name: Full Outter (Righ Outter+non matching in left array) | |||||||||||||||||||||||||
2 | Units | Color | Product | Code | Product | Price | Color | =AJOIN(A2:C14,E2:H10,{3,2},{2,4}) | =AJOIN(E2:H10,A2:C14,{2,4},{3,2}) | ||||||||||||||||||
3 | 48 | Red | Quad | CR-r | Carlota | 26 | Red | Units | Color | Product | Code | Price | Code | Product | Price | Color | Units | array 1 | array 2 | ||||||||
4 | 156 | Blue | Quad | KK-b | Kiki | 13 | Blue | 48 | Red | Quad | QD-r | 43 | CR-r | Carlota | 26 | Red | Sol Marroquin | Raven Beatty | |||||||||
5 | 168 | Red | Quad | QD-r | Quad | 43 | Red | 156 | Blue | Quad | QD-b | 41 | KK-b | Kiki | 13 | Blue | Kiera Mcfall | Roxanna Mercier | |||||||||
6 | 132 | Blue | Carlota | SH-r | Sunshine | 19 | Red | 168 | Red | Quad | QD-r | 43 | QD-r | Quad | 43 | Red | 48 | Raven Beatty | Fanny Denning | ||||||||
7 | 72 | Blue | Carlota | CR-g | Carlota | 24 | Green | 132 | Blue | Carlota | SH-r | Sunshine | 19 | Red | 108 | Elinore Dees | Lesha Nobles | ||||||||||
8 | 108 | Red | Sunshine | QD-b | Quad | 41 | Blue | 72 | Blue | Carlota | CR-g | Carlota | 24 | Green | Wei Lockwood | Wei Lockwood | |||||||||||
9 | 128 | Blue | Quad | SH-b | Sunshine | 18 | Blue | 108 | Red | Sunshine | SH-r | 19 | QD-b | Quad | 41 | Blue | 156 | Donald Eldridge | Gertrudis Fitzpatrick | ||||||||
10 | 96 | Red | Gigi | KK-r | Kiki | 20 | Red | 128 | Blue | Quad | QD-b | 41 | SH-b | Sunshine | 18 | Blue | 24 | Claudio Beam | Angelita Packer | ||||||||
11 | 60 | Red | Sunshine | 96 | Red | Gigi | KK-r | Kiki | 20 | Red | Angelita Packer | Beaulah Wenger | |||||||||||||||
12 | 24 | Blue | Sunshine | 60 | Red | Sunshine | SH-r | 19 | Carlota | Blue | 132 | Reyna Luke | Malvina Hamer | ||||||||||||||
13 | 120 | Blue | Carlota | 24 | Blue | Sunshine | SH-b | 18 | Carlota | Blue | 72 | Beaulah Wenger | Bernita Crutcher | ||||||||||||||
14 | 24 | Blue | Quad | 120 | Blue | Carlota | Gigi | Red | 96 | Malvina Hamer | Shiela Anaya | ||||||||||||||||
15 | 24 | Blue | Quad | QD-b | 41 | Carlota | Blue | 120 | Vivan Keeney | Yolonda Armstead | |||||||||||||||||
16 | Red | Carlota | CR-r | 26 | |||||||||||||||||||||||
17 | Blue | Kiki | KK-b | 13 | when keys have no dups, same results both directions | ||||||||||||||||||||||
18 | Green | Carlota | CR-g | 24 | =SORT(AJOIN(V4:V15,X4:X15,,)) | =SORT(AJOIN(X4:X15,V4:V15,,)) | |||||||||||||||||||||
19 | Red | Kiki | KK-r | 20 | Angelita Packer | Angelita Packer | |||||||||||||||||||||
20 | Beaulah Wenger | Beaulah Wenger | |||||||||||||||||||||||||
21 | Bernita Crutcher | Bernita Crutcher | |||||||||||||||||||||||||
22 | Claudio Beam | Claudio Beam | |||||||||||||||||||||||||
23 | Donald Eldridge | Donald Eldridge | |||||||||||||||||||||||||
24 | Elinore Dees | Elinore Dees | |||||||||||||||||||||||||
25 | Fanny Denning | Fanny Denning | |||||||||||||||||||||||||
26 | Gertrudis Fitzpatrick | Gertrudis Fitzpatrick | |||||||||||||||||||||||||
27 | Kiera Mcfall | Kiera Mcfall | |||||||||||||||||||||||||
28 | Lesha Nobles | Lesha Nobles | |||||||||||||||||||||||||
29 | Malvina Hamer | Malvina Hamer | |||||||||||||||||||||||||
30 | Raven Beatty | Raven Beatty | |||||||||||||||||||||||||
31 | Reyna Luke | Reyna Luke | |||||||||||||||||||||||||
32 | Roxanna Mercier | Roxanna Mercier | |||||||||||||||||||||||||
33 | Shiela Anaya | Shiela Anaya | |||||||||||||||||||||||||
34 | Sol Marroquin | Sol Marroquin | |||||||||||||||||||||||||
35 | Vivan Keeney | Vivan Keeney | |||||||||||||||||||||||||
36 | Wei Lockwood | Wei Lockwood | |||||||||||||||||||||||||
37 | Yolonda Armstead | Yolonda Armstead | |||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
AJOIN post |
Cell Formulas | ||
---|---|---|
Range | Formula | |
J2,V18,X18,P2 | J2 | =FORMULATEXT(J3) |
J3:N19 | J3 | =AJOIN(A2:C14,E2:H10,{3,2},{2,4}) |
P3:T15 | P3 | =AJOIN(E2:H10,A2:C14,{2,4},{3,2}) |
V19:V37 | V19 | =SORT(AJOIN(V4:V15,X4:X15,,)) |
X19:X37 | X19 | =SORT(AJOIN(X4:X15,V4:V15,,)) |
Dynamic array formulas. |
Upvote
0