LinkedIn Post by
Guillermo Arroyo
Power Query
=LET(r,ROW(1:9),
MAP(A2:A6,LAMBDA(a,TEXTJOIN("-",,REPT(MID(a,r,1),r)))))
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Col = Table.AddColumn(Source, "Result", each let str = [String] in Text.Combine(List.Transform({0..Text.Length(str)-1}, each Text.Repeat(Text.Middle(str, _, 1), _ + 1)), "-"))
in
Col
=MAP(A2:A6,
LAMBDA(_str,
LET(_seq,SEQUENCE(,LEN(_str)),
_spl,MID(_str,_seq,1),
TEXTJOIN("-",1,REPT(_spl,_seq)))))
Although mine is similar to many here, I will still post as more of a thanks to this community for all the things that it is teaching me.
=MAP(A2:A6,LAMBDA(c,LET(a,SEQUENCE(LEN(c)),b,REPT(MID(c,a,1),a),TEXTJOIN("-",,b))))
=MAP(
A2:A6,
LAMBDA(s,
LET(
split, MID(s, SEQUENCE(LEN(s)), 1),
Seq, SEQUENCE(LEN(s)),
table, HSTACK(split, Seq, REPT(split, Seq)),
TEXTJOIN("-", , TAKE(table, , -1))
)
)
)
=MAP(A2:A6,LAMBDA(x,TEXTJOIN("-",,REPT(MID(x,SEQUENCE(LEN(x)),1),SEQUENCE(LEN(x))))))
=BYROW(A2:A6,LAMBDA(_range,LET(_split,MID(_range,SEQUENCE(LEN(_range)),1),_seq,SEQUENCE(LEN(_range)),_result,TEXTJOIN("-",,REPT(_split,_seq)),_result)))
here is what come to my mind
=MAP(A2:A6,LAMBDA(x,TEXTJOIN("-",TRUE,REPT(MID(x,SEQUENCE(LEN(x),1,1),1),SEQUENCE(LEN(x),,1,1)))))
=MAP(A2:A6,LAMBDA(a,LET(s,SEQUENCE(LEN(a)),TEXTJOIN("-",,REPT(MID(a,s,1),s)))))
LinkedIn Post by:
[
Hi to all!
One option could be:
=MAP(A2:A6,LAMBDA(x,TEXTJOIN("-",,REPT(MID(x,ROW(1:9),1),ROW(1:9)))))
Blessings!
Today was quite a nice breather, with the REPT function.
=MAP(A2:A6,LAMBDA(X,LET(A,X,
B, SEQUENCE(LEN(A)),
TEXTJOIN("-",,REPT(MID(A,B,1),B)))))
LinkedIn Post by:
[
hi everyone, my proposal solution:
=MAP(A2:A6, LAMBDA(a, LET(_s, SEQUENCE(, 5), TEXTJOIN("-", 1, REPT(MID(a,_s, 1),_s)))))
Envio mi soluccion
=UNIRCADENAS("-";VERDADERO;LET(a;EXTRAE(A2;SECUENCIA(LARGO(A2));1);b;FILAS(a);c;SECUENCIA(b);REPETIR(a;c)))
=BYROW(A2:A6,LAMBDA(x,LET(l,SEQUENCE(LEN(x)),TEXTJOIN("-",,REPT(MID(x,l,1),l)))))
=SUBSTITUTE(TRIM(REDUCE("",SEQUENCE(9),LAMBDA(a,n,a&" "&REPT(MID(A2:A6,n,1),n))))," ","-")
LinkedIn post by:
[
=MAP(A2:A6,LAMBDA(a,TEXTJOIN("-",1,REDUCE("",SEQUENCE(LEN(a)),LAMBDA(i,j,VSTACK(i,REPT(MID(a,j,1),j)))))))
Thank you Excel BI
=MAP(A2:A6, LAMBDA(x, LET(a, SEQUENCE(LEN(x)), TEXTJOIN("-",, REPT(MID(x,a,1), a)))))
=MAP(A2:A6,LAMBDA(a,TEXTJOIN("-",TRUE,REPT(MID(a,SEQUENCE(LEN(a)),1),FIND(MID(a,SEQUENCE(LEN(a)),1),a)))))
Edit :
Only works for single letter occurrence…
This one should give more accurate results :
=MAP(A2:A6,LAMBDA(a,TEXTJOIN("-",TRUE,REPT(MID(a,SEQUENCE(LEN(a)),1),SEQUENCE(LEN(a))))))
Bonus :
Revert From the answer to initial String :
=MAP(B2:B6,LAMBDA(a,TEXTJOIN("",TRUE,LEFT(TEXTSPLIT(a,"-")))))
Power Query
let
Source = Excel.CurrentWorkbook(){[ Name = "data" ]}[Content],
Return = Table.AddColumn (
Source,
"Answer",
each Text.Combine (
List.Transform (
{ 1 .. Text.Length ( [String] ) },
( f ) => Text.Repeat ( Text.At ( [String], f - 1 ), f )
),
"-"
)
)
in
Return
Repititions.xlsx (22.9 KB)