Xlambda
Well-known Member
- Joined
- Mar 8, 2021
- Messages
- 837
- Office Version
- 365
- Platform
- Windows
AOVERLAP Array Overlap, overlapping 2 arrays using a row/column coordinate system. !! NEW !! MAKEARRAY
Excel Formula:
=LAMBDA(ar,br,[r],[c],
LET(a,IF(ar="","",ar),b,IF(br="","",br),x,ROWS(a),y,ROWS(b),z,COLUMNS(a),w,COLUMNS(b),
s,MAX(({1;1;0;0}=--(r<=0))*({1;0;1;0}=--(c<=0))*SEQUENCE(4)),
k,MAKEARRAY(IF(s<=2,MAX(y,x-r),MAX(y+r,x)),IF(OR(s=2,s=4),MAX(w+c,z),MAX(z-c,w)),LAMBDA(m,n,SWITCH(s,
1,IFS(AND(n<=w,m<=y),INDEX(b,m,n),AND(n>-c,m>-r),INDEX(a,m+r,n+c)),
2,IFS(AND(n>c,n<=(c+w),m<=y),INDEX(b,m,n-c),m>-r,INDEX(a,m+r,n)),
3,IFS(AND(m>r,m<=(r+y),n<=w),INDEX(b,m-r,n),n>-c,INDEX(a,m,n+c)),
4,IFS(AND(m>r,m<=(r+y),n>c,n<=(c+w)),INDEX(b,m-r,n-c),TRUE,INDEX(a,m,n))))),
IFERROR(k,"")
)
)
| LAMBDA 1.1.1.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 | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | AJ | AK | AL | AM | AN | AO | AP | AQ | AR | AS | AT | AU | AV | AW | AX | AY | AZ | |||
| 1 | ar | r>=0,c>=0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | 1 | 2 | 3 | 4 | 5 | 6 | c,3 | ➡ | c,6 | ➡ | ||||||||||||||||||||||||||||||||||||||||||||
| 3 | 2 | 3 | 4 | 5 | 6 | 7 | r,,c,, | ➡ | c,1 | ➡ | c,2 | ➡ | 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | ||||||||||||||||||||||||||||||
| 4 | 3 | 4 | 5 | 6 | 7 | 8 | ⬇ | A | B | C | D | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 3 | 4 | 5 | 6 | 7 | |||||||||||||||||
| 5 | 4 | 5 | 6 | 7 | 9 | E | F | H | 6 | 7 | 2 | 3 | 4 | 5 | 6 | 7 | r,2 | 2 | 3 | 4 | 5 | 6 | 7 | r,3 | 3 | 4 | 5 | 6 | 7 | 8 | 3 | 4 | 5 | 6 | 7 | 8 | ||||||||||||||||||
| 6 | 5 | 6 | 7 | 8 | 9 | 10 | I | J | K | L | 7 | 8 | r,3 | 3 | 4 | 5 | 6 | 7 | 8 | ⬇ | 3 | 4 | A | B | C | D | ⬇ | 4 | 5 | 6 | A | B | C | D | 4 | 5 | 6 | 7 | 9 | |||||||||||||||
| 7 | br | 4 | 5 | 6 | 7 | 9 | ⬇ | 4 | A | B | C | D | 9 | 4 | 5 | E | F | H | 5 | 6 | 7 | E | F | H | r,5 | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||||||||||||
| 8 | A | B | C | D | 5 | 6 | 7 | 8 | 9 | 10 | 5 | E | F | H | 10 | 5 | 6 | I | J | K | L | I | J | K | L | ⬇ | A | B | C | D | ||||||||||||||||||||||||
| 9 | E | F | H | =AOVERLAP(A2:F6,A8:D10) | I | J | K | L | =AOVERLAP(A2:F6,A8:D10,2,2) | =AOVERLAP(A2:F6,A8:D10,3,3) | E | F | H | |||||||||||||||||||||||||||||||||||||||||
| 10 | I | J | K | L | =AOVERLAP(A2:F6,A8:D10,3,1) | I | J | K | L | |||||||||||||||||||||||||||||||||||||||||||||
| 11 | =AOVERLAP(A2:F6,A8:D10,5,6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | r>=0,c<0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | ⬅ | c,-1 | ⬅ | c,-2 | ⬅ | c,-4 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | r, | ⬅ | c,-2 | ⬅ | c,-1 | 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | |||||||||||||||||||||||||||||||
| 15 | ⬇ | A | B | C | D | 3 | 4 | 5 | 6 | r,1 | 1 | 2 | 3 | 4 | 5 | 6 | r,2 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | 3 | 4 | 5 | 6 | 7 | |||||||||||||||||||
| 16 | E | F | H | 4 | 5 | 6 | 7 | ⬇ | A | B | C | D | 5 | 6 | 7 | ⬇ | A | B | C | D | 6 | 7 | 8 | r,3 | 3 | 4 | 5 | 6 | 7 | 8 | 3 | 4 | 5 | 6 | 7 | 8 | ||||||||||||||||||
| 17 | I | J | K | L | 5 | 6 | 7 | 8 | E | F | H | 6 | 7 | 8 | E | F | H | 7 | 9 | ⬇ | A | B | C | D | 6 | 7 | 9 | 4 | 5 | 6 | 7 | 9 | ||||||||||||||||||||||
| 18 | 4 | 5 | 6 | 7 | 9 | I | J | K | L | 7 | 9 | I | J | K | L | 8 | 9 | 10 | E | F | H | 7 | 8 | 9 | 10 | r,5 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||||||||||||||||||
| 19 | 5 | 6 | 7 | 8 | 9 | 10 | 5 | 6 | 7 | 8 | 9 | 10 | =AOVERLAP(A2:F6,A8:D10,2,-1) | I | J | K | L | ⬇ | A | B | C | D | ||||||||||||||||||||||||||||||||
| 20 | =AOVERLAP(A2:F6,A8:D10,,-2) | =AOVERLAP(A2:F6,A8:D10,1,-1) | =AOVERLAP(A2:F6,A8:D10,3,-2) | E | F | H | ||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | I | J | K | L | ||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | =AOVERLAP(A2:F6,A8:D10,5,-4) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | r<0,c<=0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | ⬅ | c,-4 | ⬅ | c,-5 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | ⬅ | c,, | ⬅ | c,-1 | A | B | C | D | A | B | C | D | ||||||||||||||||||||||||||||||||||||||||||
| 26 | ⬆ | A | B | C | D | ⬆ | A | B | C | D | E | F | H | E | F | H | ||||||||||||||||||||||||||||||||||||||
| 27 | r,-1 | E | F | H | 5 | 6 | r,-1 | E | F | H | 4 | 5 | 6 | ⬆ | I | J | K | L | I | J | K | L | ||||||||||||||||||||||||||||||||
| 28 | I | J | K | L | 6 | 7 | I | J | K | L | 5 | 6 | 7 | r,-3 | 1 | 2 | 3 | 4 | 5 | 6 | ⬆ | |||||||||||||||||||||||||||||||||
| 29 | 3 | 4 | 5 | 6 | 7 | 8 | 3 | 4 | 5 | 6 | 7 | 8 | 2 | 3 | 4 | 5 | 6 | 7 | r,-4 | 1 | 2 | 3 | 4 | 5 | 6 | |||||||||||||||||||||||||||||
| 30 | 4 | 5 | 6 | 7 | 9 | 4 | 5 | 6 | 7 | 9 | 3 | 4 | 5 | 6 | 7 | 8 | 2 | 3 | 4 | 5 | 6 | 7 | ||||||||||||||||||||||||||||||||
| 31 | 5 | 6 | 7 | 8 | 9 | 10 | 5 | 6 | 7 | 8 | 9 | 10 | 4 | 5 | 6 | 7 | 9 | 3 | 4 | 5 | 6 | 7 | 8 | |||||||||||||||||||||||||||||||
| 32 | =AOVERLAP(A2:F6,A8:D10,-1) | =AOVERLAP(A2:F6,A8:D10,-1,-1) | 5 | 6 | 7 | 8 | 9 | 10 | 4 | 5 | 6 | 7 | 9 | |||||||||||||||||||||||||||||||||||||||||
| 33 | =AOVERLAP(A2:F6,A8:D10,-3,-4) | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||||||||||||||||||||||||||||||||||||
| 34 | =AOVERLAP(A2:F6,A8:D10,-4,-5) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | r<=0,c>0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | c,1 | ➡ | c,2 | ➡ | c,3 | ➡ | c,6 | ➡ | ||||||||||||||||||||||||||||||||||||||||||||||
| 37 | ⬆ | c,1 | ➡ | ⬆ | A | B | C | D | ⬆ | A | B | C | D | A | B | C | D | A | B | C | D | |||||||||||||||||||||||||||||||||
| 38 | r,, | 1 | A | B | C | D | 6 | r,-1 | 1 | E | F | H | 6 | r,-1 | 1 | 2 | E | F | H | ⬆ | E | F | H | E | F | H | ||||||||||||||||||||||||||||
| 39 | 2 | E | F | H | 7 | 2 | I | J | K | L | 7 | 2 | 3 | I | J | K | L | r,-2 | 1 | 2 | 3 | I | J | K | L | ⬆ | I | J | K | L | ||||||||||||||||||||||||
| 40 | 3 | I | J | K | L | 8 | 3 | 4 | 5 | 6 | 7 | 8 | 3 | 4 | 5 | 6 | 7 | 8 | 2 | 3 | 4 | 5 | 6 | 7 | r,-3 | 1 | 2 | 3 | 4 | 5 | 6 | |||||||||||||||||||||||
| 41 | 4 | 5 | 6 | 7 | 9 | 4 | 5 | 6 | 7 | 9 | 4 | 5 | 6 | 7 | 9 | 3 | 4 | 5 | 6 | 7 | 8 | 2 | 3 | 4 | 5 | 6 | 7 | |||||||||||||||||||||||||||
| 42 | 5 | 6 | 7 | 8 | 9 | 10 | 5 | 6 | 7 | 8 | 9 | 10 | 5 | 6 | 7 | 8 | 9 | 10 | 4 | 5 | 6 | 7 | 9 | 3 | 4 | 5 | 6 | 7 | 8 | |||||||||||||||||||||||||
| 43 | =AOVERLAP(A2:F6,A8:D10,,1) | =AOVERLAP(A2:F6,A8:D10,-1,1) | =AOVERLAP(A2:F6,A8:D10,-1,2) | 5 | 6 | 7 | 8 | 9 | 10 | 4 | 5 | 6 | 7 | 9 | ||||||||||||||||||||||||||||||||||||||||
| 44 | =AOVERLAP(A2:F6,A8:D10,-2,3) | 5 | 6 | 7 | 8 | 9 | 10 | |||||||||||||||||||||||||||||||||||||||||||||||
| 45 | =AOVERLAP(A2:F6,A8:D10,-3,6) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
AOVERLAP post 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Cell Formulas | ||
|---|---|---|
| Range | Formula | |
| AG3:AM8 | AG3 | =AOVERLAP(A2:F6,A8:D10,3,3) |
| AP3:AY10 | AP3 | =AOVERLAP(A2:F6,A8:D10,5,6) |
| I4:N8 | I4 | =AOVERLAP(A2:F6,A8:D10) |
| Q4:V9 | Q4 | =AOVERLAP(A2:F6,A8:D10,3,1) |
| Y4:AD8 | Y4 | =AOVERLAP(A2:F6,A8:D10,2,2) |
| I9,C43,M20,C20,V19,Y9 | I9 | =FORMULATEXT(I4) |
| AG9,S43,K43,K32,C32,AF20,Q10 | AG9 | =FORMULATEXT(AG3) |
| AP11,AJ45,T33,AP22 | AP11 | =FORMULATEXT(AP3) |
| V14:AB18 | V14 | =AOVERLAP(A2:F6,A8:D10,2,-1) |
| AF14:AM19 | AF14 | =AOVERLAP(A2:F6,A8:D10,3,-2) |
| AP14:AY21 | AP14 | =AOVERLAP(A2:F6,A8:D10,5,-4) |
| C15:J19 | C15 | =AOVERLAP(A2:F6,A8:D10,,-2) |
| M15:S19 | M15 | =AOVERLAP(A2:F6,A8:D10,1,-1) |
| T25:AC32 | T25 | =AOVERLAP(A2:F6,A8:D10,-3,-4) |
| AF25:AP33 | AF25 | =AOVERLAP(A2:F6,A8:D10,-4,-5) |
| C26:H31 | C26 | =AOVERLAP(A2:F6,A8:D10,-1) |
| K26:Q31 | K26 | =AOVERLAP(A2:F6,A8:D10,-1,-1) |
| AF34 | AF34 | =FORMULATEXT(AF25) |
| K37:P42 | K37 | =AOVERLAP(A2:F6,A8:D10,-1,1) |
| S37:X42 | S37 | =AOVERLAP(A2:F6,A8:D10,-1,2) |
| AA37:AG43 | AA37 | =AOVERLAP(A2:F6,A8:D10,-2,3) |
| AJ37:AS44 | AJ37 | =AOVERLAP(A2:F6,A8:D10,-3,6) |
| C38:H42 | C38 | =AOVERLAP(A2:F6,A8:D10,,1) |
| AA44 | AA44 | =FORMULATEXT(AA37) |
| Dynamic array formulas. | ||
Upvote
0