Xlambda
Well-known Member
- Joined
- Mar 8, 2021
- Messages
- 860
- Office Version
- 365
- Platform
- Windows
ALFCR Array Last or First values, by Columns or Rows, blanks excluded.
-lf, last first argument, 0 for last, 1 for first
-cr columns rows argument 0 for columns, 1 for rows. (have chosen 0 for last and 0 for columns, because is the most frequent scenario)
Other function on minisheet AFILTER
-lf, last first argument, 0 for last, 1 for first
-cr columns rows argument 0 for columns, 1 for rows. (have chosen 0 for last and 0 for columns, because is the most frequent scenario)
Other function on minisheet AFILTER
Excel Formula:
=LAMBDA(ar,lf,cr,
LET(z,{0,1},x,IF(lf,1,-1),r,ROWS(ar),c,COLUMNS(ar),s,SEQUENCE(r*c),y,IF(cr,SEQUENCE(,c),SEQUENCE(r)),
q,QUOTIENT(s-1,c),m,MOD(s-1,c),a,INDEX(IF(ar="","",ar),q+1,m+1),
xm,XMATCH(y,1/(a<>"")+IF(cr,m,q),,x),
IF(AND(OR(lf=z),OR(cr=z)),IFNA(INDEX(a,xm),""),"only 0 or 1 values")
)
)
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 | |||
1 | ALFCR(ar,lf,cr) Array LastFirst ClmsRows | ||||||||||||||||||||||
2 | last,first clms,rows | ||||||||||||||||||||||
3 | 0,1 0,1 | last clm | 1 st clm | ||||||||||||||||||||
4 | lf,0,cr,0 | lf,1,cr,0 | lf,1,cr,0 | ||||||||||||||||||||
5 | sample | =ALFCR(A6:F9,,) | =ALFCR(A6:F9,1,) | =ALFCR(A6:F9,,1) | |||||||||||||||||||
6 | d | 3 | a | b | 1 | 1 | d | 7 | q | 8 | 2 | e | 1 | last row | |||||||||
7 | v | 5 | d | 4 | 4 | v | lf,1,cr,1 | ||||||||||||||||
8 | 7 | s | 2 | 2 | 7 | =ALFCR(A6:F9,1,1) | |||||||||||||||||
9 | q | 8 | e | e | q | d | 3 | a | d | b | 1 | 1 st row | |||||||||||
10 | |||||||||||||||||||||||
11 | row or clmn only blanks | =ALFCR(A12:F15,,) | =ALFCR(A12:F15,1,) | =ALFCR(A12:F15,,1) | |||||||||||||||||||
12 | d | a | b | 1 | 1 | d | d | 8 | d | e | 1 | last row | |||||||||||
13 | 5 | d | 4 | 4 | 5 | ||||||||||||||||||
14 | =ALFCR(A12:F15,1,1) | ||||||||||||||||||||||
15 | 8 | e | e | 8 | d | a | d | b | 1 | 1 st row | |||||||||||||
16 | |||||||||||||||||||||||
17 | if we need 2nd clm | 2nd clm | |||||||||||||||||||||
18 | (exclude blnks and align to left) | other function on minisheet | AFILTER | ||||||||||||||||||||
19 | =AFILTER(A6:F9,,) | =INDEX(A20#,,2) | |||||||||||||||||||||
20 | d | 3 | a | b | 1 | 3 | |||||||||||||||||
21 | v | 5 | d | 4 | 5 | ||||||||||||||||||
22 | 7 | s | 2 | s | |||||||||||||||||||
23 | q | 8 | e | 8 | |||||||||||||||||||
24 | |||||||||||||||||||||||
25 | if we need 2nd row | ||||||||||||||||||||||
26 | (exclude blanks and align to the top) | ||||||||||||||||||||||
27 | =TRANSPOSE(AFILTER(TRANSPOSE(A6:F9),,)) | =INDEX(A28#,2,) | |||||||||||||||||||||
28 | d | 3 | a | d | b | 1 | 7 | v | 5 | 2 | 4 | 2nd row | |||||||||||
29 | 7 | v | 5 | 2 | 4 | ||||||||||||||||||
30 | q | s | e | ||||||||||||||||||||
31 | 8 | ||||||||||||||||||||||
32 | |||||||||||||||||||||||
ALFCR post |
Cell Formulas | ||
---|---|---|
Range | Formula | |
H5,J5,M27,A27,H19,A19,M14,M11,H11,J11,M8,M5 | H5 | =FORMULATEXT(H6) |
H6:H9,H12:H15 | H6 | =ALFCR(A6:F9,,) |
J6:J9,J12:J15 | J6 | =ALFCR(A6:F9,1,) |
M6:R6,M12:R12 | M6 | =ALFCR(A6:F9,,1) |
M9:R9,M15:R15 | M9 | =ALFCR(A6:F9,1,1) |
A20:E23 | A20 | =AFILTER(A6:F9,,) |
H20:H23 | H20 | =INDEX(A20#,,2) |
A28:F31 | A28 | =TRANSPOSE(AFILTER(TRANSPOSE(A6:F9),,)) |
M28:R28 | M28 | =INDEX(A28#,2,) |
Dynamic array formulas. |
Upvote
0