Xlambda
Well-known Member
- Joined
- Mar 8, 2021
- Messages
- 860
- Office Version
- 365
- Platform
- Windows
ATTSPLIT Array To Text Split , splits back to arrays an array of data obtained by ARRAYTOTEXT function, format argument 1 .
Inspired by ExcelIsFun YT video Join text items in a cell using TEXTJOIN or ARRAYTOTEXT functions. Excel Magic Trick 1741
Other functions on minisheet: AREMOVE , ATEXTSPLIT , AKEEP , AFLAT ASTACK
Inspired by ExcelIsFun YT video Join text items in a cell using TEXTJOIN or ARRAYTOTEXT functions. Excel Magic Trick 1741
Other functions on minisheet: AREMOVE , ATEXTSPLIT , AKEEP , AFLAT ASTACK
Excel Formula:
=LAMBDA(a,
LET(k,OR(ISERROR(SEARCH(";",a))),
IF(k,"not proper data format",ATEXTSPLIT(AFLAT(ATEXTSPLIT(AREMOVE(a,"{}""""",),";",1)),",",1))
)
)
LAMBDA 10.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 | Z | AA | AB | AC | AD | AE | AF | AG | AH | |||
1 | sample array | b | 2 | y | ||||||||||||||||||||||||||||||||
2 | g | h | ||||||||||||||||||||||||||||||||||
3 | 4 | 3 | ||||||||||||||||||||||||||||||||||
4 | Post 1 | |||||||||||||||||||||||||||||||||||
5 | Functionality of ARRAYTOTEXT | Ways to get to initial array | ||||||||||||||||||||||||||||||||||
6 | format argument 0 or omitted | step 1 | step 2 | step 3 | ||||||||||||||||||||||||||||||||
7 | =ARRAYTOTEXT(B1:E3) | remove spaces | split with ATEXTSPLIT",",include empty=1 | we need an unknow extra argument | ||||||||||||||||||||||||||||||||
8 | , b, 2, y, g, , , h, 4, 3, , | =AREMOVE(A8," ",) | =ATEXTSPLIT(G9,",",1) | for array width,(ASTACK argument) | ||||||||||||||||||||||||||||||||
9 | The function adds a space btwn values | ,b,2,y,g,,,h,4,3,, | b | 2 | y | g | h | 4 | 3 | =ASTACK(K9#,4) | ||||||||||||||||||||||||||
10 | and "," delimiter | b | 2 | y | ||||||||||||||||||||||||||||||||
11 | The blanks will become spaces | g | h | |||||||||||||||||||||||||||||||||
12 | 4 | 3 | ||||||||||||||||||||||||||||||||||
13 | format argument 1 | step 1 | step 2 | step 3 | ||||||||||||||||||||||||||||||||
14 | =ARRAYTOTEXT(B1:E3,1) | remove {}" chars | split with ATEXTSPLIT for ";" del. | split with ATEXTSPLIT "," del. | ||||||||||||||||||||||||||||||||
15 | {,"b",2,"y";"g",,,"h";4,3,,} | =AREMOVE(A15,"{}""""",) | and stack the results with AFLAT | include empty argument=1 | ||||||||||||||||||||||||||||||||
16 | No spaces added btwn | ,b,2,y;g,,,h;4,3,, | =AFLAT(ATEXTSPLIT(G16,";",)) | =ATEXTSPLIT(P17#,",",1) | ||||||||||||||||||||||||||||||||
17 | delimiter and values | Note: | ,b,2,y | b | 2 | y | ||||||||||||||||||||||||||||||
18 | We get a";" at the end | To include " as char to be removed | g,,,h | g | h | |||||||||||||||||||||||||||||||
19 | of each row | we have to use 4 x" , as in """" | 4,3,, | 4 | 3 | |||||||||||||||||||||||||||||||
20 | Text values btwn quotes | |||||||||||||||||||||||||||||||||||
21 | Other approach is to find out nr of columns of the array | |||||||||||||||||||||||||||||||||||
22 | othe functions on minisheet | that will be nr of "," up to first ";", using AKEEP only ",;" chars and SEARCH position of ";" | ||||||||||||||||||||||||||||||||||
23 | AREMOVE | =AKEEP(G16,",;",) | =SEARCH(";",G24) | |||||||||||||||||||||||||||||||||
24 | ATEXTSPLIT | ,,,;,,,;,,, | 4 | |||||||||||||||||||||||||||||||||
25 | AKEEP | substitute ";" with ",", ATEXTSPLIT for "," | ||||||||||||||||||||||||||||||||||
26 | AFLAT | and ASTACK for nr of columns, like first scenario | ||||||||||||||||||||||||||||||||||
27 | ASTACK | =SUBSTITUTE(G16,";",",") | =ATEXTSPLIT(G28,",",1) | =ASTACK(L28#,L24) | ||||||||||||||||||||||||||||||||
28 | ,b,2,y,g,,,h,4,3,, | b | 2 | y | g | h | 4 | 3 | b | 2 | y | |||||||||||||||||||||||||
29 | g | h | ||||||||||||||||||||||||||||||||||
30 | 4 | 3 | ||||||||||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||||||||||||
ATTSPLIT post 1 |
Cell Formulas | ||
---|---|---|
Range | Formula | |
A7,Y27,L27,G27,L23,G23,X16,P16,G15,A14,X9,K8,G8 | A7 | =FORMULATEXT(A8) |
A8 | A8 | =ARRAYTOTEXT(B1:E3) |
G9 | G9 | =AREMOVE(A8," ",) |
K9:V9 | K9 | =ATEXTSPLIT(G9,",",1) |
X10:AA12 | X10 | =ASTACK(K9#,4) |
A15 | A15 | =ARRAYTOTEXT(B1:E3,1) |
G16 | G16 | =AREMOVE(A15,"{}""""",) |
P17:P19 | P17 | =AFLAT(ATEXTSPLIT(G16,";",)) |
X17:AA19 | X17 | =ATEXTSPLIT(P17#,",",1) |
G24 | G24 | =AKEEP(G16,",;",) |
L24 | L24 | =SEARCH(";",G24) |
G28 | G28 | =SUBSTITUTE(G16,";",",") |
L28:W28 | L28 | =ATEXTSPLIT(G28,",",1) |
Y28:AB30 | Y28 | =ASTACK(L28#,L24) |
Dynamic array formulas. |
Upvote
0