Split the group of texts into single characters Dynamic array function allowed, but extra marks for Legacy solutions or PowerQuery Solution
📌 Challenge Details and Links
Challenge Number: 57
Challenge Difficulty: ⭐
📥Download Sample File
📥Link to the solutions on LinkedIn
Solving the challenge of Text Split with Power Query
Power Query solution 1 for Text Split, proposed by Alejandro Simón 🇵🇦 🇪🇸:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
Sol = List.Combine(Table.TransformColumns(Source, {"Problem", each Text.ToList(_)})[Problem])
in
Sol
Power Query solution 2 for Text Split, proposed by Abdallah Ally:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content],
Result = Table.FromColumns({Text.ToList(Text.Combine(Source[Problem]))}, {"Solution Required"})
in
Result
Power Query solution 3 for Text Split, proposed by 🇮🇷 Navid Esmaeilzadeh اسماعیل زاده:
let
Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content], //Table1=B2:B9 & Header="Problem(B1)
A = Table.AddColumn(Source, "L", each Text.ToList([Problem])),
C = List.Combine(A[L])
in
C
Power Query solution 4 for Text Split, proposed by Krzysztof Kominiak:
let
Source = Table.FromList(
List.Combine(
Table.TransformColumns(Excel.CurrentWorkbook(){[Name = "Table1"]}[Content], {}, Text.ToList)[
Problem
]
),
(x) => {x},
{"Answer"}
)
in
Source
Solving the challenge of Text Split with Excel
Excel solution 1 for Text Split, proposed by Rick Rothstein:
=MID(
CONCAT(
B3:B9),
SEQUENCE(
SUM(
LEN(
B3:B9))),
1)
Excel solution 2 for Text Split, proposed by Rick Rothstein:
=MID(
B$3&B$4&B$5&B$6&B$7&B$8&B$9,
ROWS(
$1:1),
1)
Excel solution 3 for Text Split, proposed by Julian Poeltl:
=LET(
C,
CONCAT(
B3:B9),
MID(
C,
SEQUENCE(
LEN(
C)),
1))
Excel solution 4 for Text Split, proposed by Oscar Mendez Roca Farell:
=LET(
m,
MID(
B3:B9,
COLUMN(
A:D),
1),
TOCOL(
IFS(
m>"",
m),
2))
Excel solution 5 for Text Split, proposed by Duy Tùng:
=TOCOL(
REGEXEXTRACT(
CONCAT(
B3:B9),
".",
1))
Excel solution 6 for Text Split, proposed by Sunny Baggu:
=LET(
_a,
CONCAT(
B3:B9),
MID(
_a,
SEQUENCE(
LEN(
_a)),
1)
)
Excel solution 7 for Text Split, proposed by Abdallah Ally:
=LET(
a,
CONCAT(
B3:B9),
MID(
a,
SEQUENCE(
LEN(
a)),
1))
Excel solution 8 for Text Split, proposed by Md. Zohurul Islam:
=DROP(
REDUCE(
"",
B3:B9,
LAMBDA(
x,
y,
VSTACK(
x,
MID(
y,
SEQUENCE(
LEN(
y)),
1)))),
1)
Excel solution 9 for Text Split, proposed by Pieter de B.:
=LET(
a,
B3:B9,
s,
SEQUENCE,
l,
LEN(
a),
m,
s(
,
MAX(
l)),
TOCOL(
MID(
a,
IFS(
l>=m,
m),
1),
2))
Or
=LET(
s,
SEQUENCE(
,
9),
TOCOL(
MID(
B3:B9,
IFS(
LEN(
B3:B9)>=s,
s),
1),
2))
Excel solution 10 for Text Split, proposed by Hamidi Hamid:
=MID(
CONCAT(
B3:B9),
SEQUENCE(
LEN(
CONCAT(
B3:B9))),
1)
Excel solution 11 for Text Split, proposed by Asheesh Pahwa:
=DROP(
REDUCE(
"",
B3:B9,
LAMBDA(
x,
y,
VSTACK(
x,
MID(
y,
SEQUENCE(
LEN(
y)),
1)))),
1)
=LET(
c,
CONCAT(
B3:B9),
MID(
c,
SEQUENCE(
LEN(
c)),
1))
Excel solution 12 for Text Split, proposed by Victor Momoh (MVP, MOS, R.Eng):
=TOCOL(
REGEXEXTRACT(
CONCAT(
B3:B9),
"[a-z]",
1,
1))
Excel solution 13 for Text Split, proposed by Ernesto Vega Castillo:
=LET(
x,
TEXTJOIN(
"",
1,
B3:B9),
MID(
x,
SEQUENCE(
LEN(
x)),
1))
Excel solution 14 for Text Split, proposed by Tomasz Jakóbczyk:
=MID(
CONCAT(
B3:B9),
SEQUENCE(
LEN(
CONCAT(
B3:B9))),
1)
Excel solution 15 for Text Split, proposed by Md. Shah Alam, Microsoft Certified Trainer:
=MID(
CONCAT(
B3:B9),
SEQUENCE(
LEN(
CONCAT(
B3:B9))),
1)
Excel solution 16 for Text Split, proposed by Mohit Rawat:
=MID(
CONCAT(
B3:B9),
SEQUENCE(
LEN(
CONCAT(
B3:B9))),
1)
Excel solution 17 for Text Split, proposed by Enrico Mendiola:
=MID(
TEXTJOIN(
"",
TRUE,
B3:B9),
SEQUENCE(
LEN(
TEXTJOIN(
"",
TRUE,
B3:B9))),
1)
Excel solution 18 for Text Split, proposed by Claire Squibb:
=LET(
txt,
CONCAT(
B3:B9),
MID(
txt,
SEQUENCE(
LEN(
txt)),
1))
Excel solution 19 for Text Split, proposed by abdelaziz allam:
=LET(
x,
TEXTJOIN(
"",
TRUE,
P9:P15),
MID(
x,
SEQUENCE(
LEN(
x)),
1))
Solving the challenge of Text Split with Python in Excel
Python in Excel solution 1 for Text Split, proposed by Alejandro Campos:
One
characters = [char for text in xl("B3:B9")[0] for char in text]
Python in Excel solution 2 for Text Split, proposed by Mey Tithveasna:
Abdallah Ally
PY()
df = xl("B3:B9", headers=True)
joinstring= ''.join(df[0])
result=list(joinstring)
# print result
result
Solving the challenge of Text Split with R
R solution 1 for Text Split, proposed by Konrad Gryczan, PhD:
library(tidyverse)
library(readxl)
path = "files/Excel Challenge 29th Dec.xlsx"
input = read_excel(path, range = "B2:B9")
test = read_excel(path, range = "D2:D15")
result = input %>%
separate_rows(Problem, sep = "") %>%
filter(Problem != "")
all.equal(result, test, check.attributes = FALSE)
#> [1] TRUE
R solution 2 for Text Split, proposed by Konrad Gryczan, PhD:
library(tidyverse)
library(readxl)
path = "files/Excel Challenge 29th Dec.xlsx"
input = read_excel(path, range = "B2:B9")
test = read_excel(path, range = "D2:D15")
result = input %>%
separate_rows(Problem, sep = "") %>%
filter(Problem != "")
all.equal(result, test, check.attributes = FALSE)
#> [1] TRUE
