Xlambda
Well-known Member
- Joined
- Mar 8, 2021
- Messages
- 837
- Office Version
- 365
- Platform
- Windows
AHCLEAN Array Horizontal Clean, replaces errors with null strings and filters all the rows depending on nr. of blnks/null strings on each row. !!NEW!! BYROW
n=0 or omitted, filters only "full" rows sum(blnks)=0
n>0 filters the rows that have sum(blnks)<=n
n<0 filters only rows that have sum(blnks)>=abs( n)
Excel Formula:
=LAMBDA(ar,[n],
LET(a,IF(ISERROR(ar),"",IF(ar="","",ar)),
x,BYROW(a,LAMBDA(a,SUM(--(a="")))),
m,MIN(ABS(n),MAX(x)),
FILTER(a,IF(n>=0,x<=m,x>=m))
)
)
n>0 filters the rows that have sum(blnks)<=n
n<0 filters only rows that have sum(blnks)>=abs( n)
| LAMBDA 1.1.2.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 | |||
| 1 | sample | n>0 | filters the rows that have sum(blnks)<=n | |||||||||||||||||||||||||||||
| 2 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | n=0 | or omited, filters only "full" rows sum(blnks)=0 | |||||||||||||||||||||
| 3 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | n<0 | filters only rows that have sum(blnks)>=abs(n) | ||||||||||||||||||||||
| 4 | 3 | C | 1 | #N/A | 3 | 4 | 5 | |||||||||||||||||||||||||
| 5 | 4 | D | 1 | 2 | 3 | 4 | n,4 | n,-1 | ||||||||||||||||||||||||
| 6 | 5 | E | 1 | 2 | 3 | =AHCLEAN($A$2:$I$9,4) | =AHCLEAN($A$2:$I$9,-1) | |||||||||||||||||||||||||
| 7 | 6 | F | 1 | 2 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | |||||||||||
| 8 | 7 | G | 1 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | 3 | C | 1 | 3 | 4 | 5 | |||||||||||||||
| 9 | 8 | H | 3 | C | 1 | 3 | 4 | 5 | 4 | D | 1 | 2 | 3 | 4 | ||||||||||||||||||
| 10 | 4 | D | 1 | 2 | 3 | 4 | 5 | E | 1 | 2 | 3 | |||||||||||||||||||||
| 11 | n, 0 or omitted | 5 | E | 1 | 2 | 3 | 6 | F | 1 | 2 | ||||||||||||||||||||||
| 12 | =AHCLEAN($A$2:$I$9) | 7 | G | 1 | ||||||||||||||||||||||||||||
| 13 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | n,5 | 8 | H | ||||||||||||||||||||
| 14 | =AHCLEAN($A$2:$I$9,5) | |||||||||||||||||||||||||||||||
| 15 | n,1 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | n,-2 | |||||||||||||||||||||
| 16 | =AHCLEAN($A$2:$I$9,1) | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | =AHCLEAN($A$2:$I$9,-2) | ||||||||||||||||||||||
| 17 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 3 | C | 1 | 3 | 4 | 5 | 3 | C | 1 | 3 | 4 | 5 | |||||||||||
| 18 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | 4 | D | 1 | 2 | 3 | 4 | 4 | D | 1 | 2 | 3 | 4 | ||||||||||||
| 19 | 5 | E | 1 | 2 | 3 | 5 | E | 1 | 2 | 3 | ||||||||||||||||||||||
| 20 | n,2 | 6 | F | 1 | 2 | 6 | F | 1 | 2 | |||||||||||||||||||||||
| 21 | =AHCLEAN($A$2:$I$9,2) | 7 | G | 1 | ||||||||||||||||||||||||||||
| 22 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | if n>clms(a) => whole array n,15 | 8 | H | ||||||||||||||||||||
| 23 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | =AHCLEAN(A2:I9,9) | |||||||||||||||||||||||
| 24 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | n,-5 | ||||||||||||||||||||||
| 25 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | =AHCLEAN($A$2:$I$9,-5) | |||||||||||||||||||||||
| 26 | n,3 | 3 | C | 1 | 3 | 4 | 5 | 6 | F | 1 | 2 | |||||||||||||||||||||
| 27 | =AHCLEAN($A$2:$I$9,3) | 4 | D | 1 | 2 | 3 | 4 | 7 | G | 1 | ||||||||||||||||||||||
| 28 | 1 | A | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 5 | E | 1 | 2 | 3 | 8 | H | ||||||||||||||||
| 29 | 2 | B | 1 | 2 | 3 | 4 | 5 | 6 | 6 | F | 1 | 2 | ||||||||||||||||||||
| 30 | 3 | C | 1 | 3 | 4 | 5 | 7 | G | 1 | abs(n)>=clms(a) | ||||||||||||||||||||||
| 31 | 4 | D | 1 | 2 | 3 | 4 | 8 | H | =AHCLEAN($A$2:$I$9,-COLUMNS(A2:I9)) | |||||||||||||||||||||||
| 32 | 8 | H | ||||||||||||||||||||||||||||||
| 33 | ||||||||||||||||||||||||||||||||
AHCLEAN post 1 | ||||||||||||||||||||||||||||||||
| Cell Formulas | ||
|---|---|---|
| Range | Formula | |
| D4 | D4 | =NA() |
| K6,U31,A27,U25,K23,A21,U16,A16,K14,A12,U6 | K6 | =FORMULATEXT(K7) |
| K7:S11 | K7 | =AHCLEAN($A$2:$I$9,4) |
| U7:AC13 | U7 | =AHCLEAN($A$2:$I$9,-1) |
| A13:I13 | A13 | =AHCLEAN($A$2:$I$9) |
| K15:S20 | K15 | =AHCLEAN($A$2:$I$9,5) |
| A17:I18 | A17 | =AHCLEAN($A$2:$I$9,1) |
| U17:AC22 | U17 | =AHCLEAN($A$2:$I$9,-2) |
| A22:I23 | A22 | =AHCLEAN($A$2:$I$9,2) |
| K24:S31 | K24 | =AHCLEAN(A2:I9,9) |
| U26:AC28 | U26 | =AHCLEAN($A$2:$I$9,-5) |
| A28:I31 | A28 | =AHCLEAN($A$2:$I$9,3) |
| U32:AC32 | U32 | =AHCLEAN($A$2:$I$9,-COLUMNS(A2:I9)) |
| Dynamic array formulas. | ||
Upvote
0