let
Source = Excel.CurrentWorkbook(){[Name="PhoneNumbers"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"PhoneNumber", type text}}),
AddNumbers = Table.AddColumn(#"Changed Type", "Numbers", each List.Transform(List.Select(Text.ToList([PhoneNumber]), each "0"<= _ and _ <= "9"), Number.From), type list),
MaxCols = List.Max(List.Transform(AddNumbers[Numbers], List.Count))-1,
ListCols = List.Buffer({0..MaxCols}),
//Just a shortcut to expend the list out by columns
[B] AddColumns = List.Accumulate(ListCols, AddNumbers, (s,c) =>[/B]
[B]Table.AddColumn(s,"Column" & Text.From(c), each if c < List.Count([Numbers]) then [Numbers]{c} else null )),[/B]
[B] //Just a shortcut to Merge the columns over and over again[/B]
[B] MergeTables = List.Accumulate(ListCols, AddColumns, (s,c) =>[/B]
[B]Table.NestedJoin(s, {"Column" & Text.From(c)} ,KeyPad,{"Number"},Text.From(c) )),[/B]
//Just a shortcut to expand the columns over and over again
ExpandAllTables = List.Accumulate(ListCols, MergeTables,(s,c) =>
Table.ExpandTableColumn(s,Text.From(c), {"Letters"}, {Text.From(c)})),
#"Merged Columns" = Table.CombineColumns(ExpandAllTables,List.Transform(ListCols, Text.From),Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Words"),
#"Removed Other Columns" = Table.SelectColumns(#"Merged Columns",{"PhoneNumber", "Words"})
in
#"Removed Other Columns"