Xlambda
Well-known Member
- Joined
- Mar 8, 2021
- Messages
- 860
- Office Version
- 365
- Platform
- Windows
APP2H APPends 2 arrays Horizontally, 2nd array column index and offset functionality. !! NEW !! MAKEARRAY
Excel Formula:
=LAMBDA(a1r,a2r,[i],[o],
LET(a,IF(a1r="","",a1r),b,IF(a2r="","",a2r),c,ROWS(a),d,ROWS(b),e,COLUMNS(a),f,COLUMNS(b),j,IF(OR(ISOMITTED(i),i=0),1,MEDIAN(i,-f,f)),
IFERROR(MAKEARRAY(MAX(IF(o<0,c-o,c),IF(o>0,d+o,d)),e+IF(j<0,-j,f-j+1),
LAMBDA(r,c,LET(x,IF(o>=0,IF(c>e,IF(r>o,r-o,""),r),IF(c<=e,IF(r>-o,r+o,""),r)),y,IF(c>e,IF(j>0,c-e+j-1,c-e),c),IF(c<=e,INDEX(a,x,y),INDEX(b,x,y))))),"")
)
)
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 | |||
1 | "i" column index argument (for 2nd array, "a2r" (b in our examples)) | if array arguments are omitted, or contant arrays | |||||||||||||||||||||||||
2 | i omitted or 0 or 1, appends whole b to a | i,o,omitted | =APP2H(,C13:D15,2,1) | ||||||||||||||||||||||||
3 | i>0, appends only columns indexes >=i of b (from i to the right, including i) | =APP2H(,C13:D15) | i,2,o,1 | ||||||||||||||||||||||||
4 | i<0, appends only column indexes <=abs(i) of b (from abs(i) to the left, including i) | a | b | b | |||||||||||||||||||||||
5 | if abs(i)>colms(b) and i<0 i= -clms(b),so whole b is appended (from clms(b) to left) | c | |||||||||||||||||||||||||
6 | if abs(i)>colms(b) and i>0 i=clms(b),so only last column of b is appended (from clms(b) to right) | e | f | f | |||||||||||||||||||||||
7 | "o" offset argument | i,,o,1 | i,,o-1 | ||||||||||||||||||||||||
8 | o=0 arrays will be top aligned | =APP2H(C13:D15,{2;2},,1) | =APP2H(C13:D15,"T",,-1) | ||||||||||||||||||||||||
9 | o>0 array b will offset "o" rows down | a | b | T | |||||||||||||||||||||||
10 | o<0 array b will offset "o" rows up | c | 2 | a | b | ||||||||||||||||||||||
11 | e | f | 2 | c | |||||||||||||||||||||||
12 | a | e | f | ||||||||||||||||||||||||
13 | a | b | o,omitted | o, different values | |||||||||||||||||||||||
14 | c | ||||||||||||||||||||||||||
15 | e | f | i,omitted | i,omitted,o,-1 | |||||||||||||||||||||||
16 | b | =APP2H(C13:D15,B17:E19) | =APP2H(C13:D15,B17:E19,,-1) | ||||||||||||||||||||||||
17 | 1 | 2 | 3 | 4 | a | b | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | |||||||||||||
18 | 5 | 6 | 8 | c | 5 | 6 | 8 | a | b | 5 | 6 | 8 | |||||||||||||||
19 | 9 | 10 | 11 | 12 | e | f | 9 | 10 | 11 | 12 | c | 9 | 10 | 11 | 12 | ||||||||||||
20 | e | f | |||||||||||||||||||||||||
21 | |||||||||||||||||||||||||||
22 | i,3 | i,3 | i,3,o,1 | ||||||||||||||||||||||||
23 | b | → | =APP2H(C13:D15,B24:E26,3) | =APP2H(C13:D15,B24:E26,3,1) | |||||||||||||||||||||||
24 | 1 | 2 | 3 | 4 | a | b | 3 | 4 | a | b | |||||||||||||||||
25 | 5 | 6 | 8 | c | 8 | c | 3 | 4 | |||||||||||||||||||
26 | 9 | 10 | 11 | 12 | e | f | 11 | 12 | e | f | 8 | ||||||||||||||||
27 | 11 | 12 | |||||||||||||||||||||||||
28 | |||||||||||||||||||||||||||
29 | i,-3 | i,-3 | i-3,-2 | ||||||||||||||||||||||||
30 | b | ← | =APP2H(C13:D15,B31:E33,-3) | =APP2H(C13:D15,B17:E19,-3,-2) | |||||||||||||||||||||||
31 | 1 | 2 | 3 | 4 | a | b | 1 | 2 | 3 | 1 | 2 | 3 | |||||||||||||||
32 | 5 | 6 | 8 | c | 5 | 6 | 5 | 6 | |||||||||||||||||||
33 | 9 | 10 | 11 | 12 | e | f | 9 | 10 | 11 | a | b | 9 | 10 | 11 | |||||||||||||
34 | c | ||||||||||||||||||||||||||
35 | e | f | |||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||
37 | i>0 and i>clms(b)=> i=4 | i,100 | i,10,o,2 | ||||||||||||||||||||||||
38 | b | → | =APP2H(C13:D15,B39:E41,100) | =APP2H(C13:D15,B39:E41,10,2) | |||||||||||||||||||||||
39 | 1 | 2 | 3 | 4 | a | b | 4 | a | b | ||||||||||||||||||
40 | 5 | 6 | 8 | c | 8 | c | |||||||||||||||||||||
41 | 9 | 10 | 11 | 12 | e | f | 12 | e | f | 4 | |||||||||||||||||
42 | 8 | ||||||||||||||||||||||||||
43 | 12 | ||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||
45 | i<0,and abs(i)>clms(b)=> i=-4 | i,-100 | i,5,o,1 | ||||||||||||||||||||||||
46 | b | ← | =APP2H(C13:D15,B47:E49,-100) | =APP2H(INDEX(H47#,SEQUENCE(3),SEQUENCE(,4)),H47#,5,1) | |||||||||||||||||||||||
47 | 1 | 2 | 3 | 4 | a | b | 1 | 2 | 3 | 4 | a | b | 1 | 2 | |||||||||||||
48 | 5 | 6 | 8 | c | 5 | 6 | 8 | c | 5 | 6 | 3 | 4 | |||||||||||||||
49 | 9 | 10 | 11 | 12 | e | f | 9 | 10 | 11 | 12 | e | f | 9 | 10 | 8 | ||||||||||||
50 | 11 | 12 | |||||||||||||||||||||||||
51 | !! Offsetting same array !! | ||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||
54 | i,o,omitted | ||||||||||||||||||||||||||
55 | c | d | =APP2H(C56:E59,G56:J57) | ||||||||||||||||||||||||
56 | a | b | c | 1 | 2 | 3 | 4 | a | b | c | 1 | 2 | 3 | 4 | |||||||||||||
57 | d | e | f | 5 | 6 | 7 | 8 | d | e | f | 5 | 6 | 7 | 8 | |||||||||||||
58 | g | h | i | g | h | i | |||||||||||||||||||||
59 | j | k | l | j | k | l | |||||||||||||||||||||
60 | |||||||||||||||||||||||||||
61 | i,3 | i,2,o,1 | |||||||||||||||||||||||||
62 | d | → | =APP2H(C56:E59,G63:J64,2,1) | ||||||||||||||||||||||||
63 | 1 | 2 | 3 | 4 | a | b | c | ||||||||||||||||||||
64 | 5 | 6 | 7 | 8 | d | e | f | 2 | 3 | 4 | |||||||||||||||||
65 | g | h | i | 6 | 7 | 8 | |||||||||||||||||||||
66 | j | k | l | ||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | i, -3 | i-3,o,2 | |||||||||||||||||||||||||
69 | d | ← | =APP2H(C56:E59,G70:J71,-3,2) | ||||||||||||||||||||||||
70 | 1 | 2 | 3 | 4 | a | b | c | ||||||||||||||||||||
71 | 5 | 6 | 7 | 8 | d | e | f | ||||||||||||||||||||
72 | g | h | i | 1 | 2 | 3 | |||||||||||||||||||||
73 | j | k | l | 5 | 6 | 7 | |||||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||
APP2H post |
Cell Formulas | ||
---|---|---|
Range | Formula | |
U2,M69,M62,M55,Q46,H46,Q38,H38,Q30,H30,Q23,H23,Q16,H16,U8,Q3 | U2 | =FORMULATEXT(U3) |
U3:V6 | U3 | =APP2H(,C13:D15,2,1) |
Q4:S6 | Q4 | =APP2H(,C13:D15) |
P8 | P8 | =FORMULATEXT(Q9) |
Q9:S11 | Q9 | =APP2H(C13:D15,{2;2},,1) |
U9:W12 | U9 | =APP2H(C13:D15,"T",,-1) |
H17:M19 | H17 | =APP2H(C13:D15,B17:E19) |
Q17:V20 | Q17 | =APP2H(C13:D15,B17:E19,,-1) |
H24:K26 | H24 | =APP2H(C13:D15,B24:E26,3) |
Q24:T27 | Q24 | =APP2H(C13:D15,B24:E26,3,1) |
H31:L33 | H31 | =APP2H(C13:D15,B31:E33,-3) |
Q31:U35 | Q31 | =APP2H(C13:D15,B17:E19,-3,-2) |
H39:J41 | H39 | =APP2H(C13:D15,B39:E41,100) |
Q39:S43 | Q39 | =APP2H(C13:D15,B39:E41,10,2) |
H47:M49 | H47 | =APP2H(C13:D15,B47:E49,-100) |
Q47:V50 | Q47 | =APP2H(INDEX(H47#,SEQUENCE(3),SEQUENCE(,4)),H47#,5,1) |
M56:S59 | M56 | =APP2H(C56:E59,G56:J57) |
M63:R66 | M63 | =APP2H(C56:E59,G63:J64,2,1) |
M70:R73 | M70 | =APP2H(C56:E59,G70:J71,-3,2) |
Dynamic array formulas. |
Upvote
0