# Reversing a String of numbers or text with delimiters

#### Phill032

##### New Member
Hi all, new to power Query and I need a solution to the above problem. basically I have a list of prices in 1 cell that are separated by a full stop "."
E.g. 10990. 10450. 10190. 9990
And so on up to a max of 19 changes.
I want to reverse these to show the below
9990. 10190. 10450. 10990
The reason for this is I want the last price change to show first for all rows so they align. Splitting the cell is the easy part so just need someone to help with the hard part..

### Excel Facts

Move date out one month or year
Use =EDATE(A2,1) for one month later. Use EDATE(A2,12) for one year later.

#### Phill032

##### New Member
sorry should also mention that each row has a different amount of changes so wanting the last Price change to align example of saw data below

10990. 9990
8990. 7990. 8490. 7490
12990

#### Peter_SSs

##### MrExcel MVP, Moderator
Is there a particular reason you need to use Power Query for this?
What version of Excel are you using?
What would be the approximate maximum number of such prices in a single cell?

#### sandy666

##### Well-known Member
is that what you want?

 raw Result 10990. 9990 9990. 10990 8990. 7990. 8490. 7490 7490. 8490. 7990. 8990 12990 12990

btw. delimiter in your example is ". " not only "."

Last edited:

#### Phill032

##### New Member
yes this is the result im looking for.

#### sandy666

##### Well-known Member
this is not copy/paste solution but you can try

Code:
``````[SIZE=1]// Table1
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Type = Table.TransformColumnTypes(Source,{{"raw", type text}}),
Split = Table.SplitColumn(Type, "raw", Splitter.SplitTextByDelimiter(". ", QuoteStyle.Csv), {"raw.1", "raw.2", "raw.3", "raw.4"}),
Transpose = Table.Transpose(Demote),
Sort = Table.Sort(Transpose,{{"Column1", Order.Descending}}),
Transpose1 = Table.Transpose(Sort),
Merge = Table.CombineColumns(Table.TransformColumnTypes(Promote, {{"raw.4", type text}, {"raw.3", type text}, {"raw.2", type text}, {"raw.1", type text}}, "en-GB"),{"raw.4", "raw.3", "raw.2", "raw.1"},Combiner.CombineTextByDelimiter(". ", QuoteStyle.None),"Result"),
Replace = Table.ReplaceValue(Merge,".","",Replacer.ReplaceText,{"Result"}),
Trim = Table.TransformColumns(Replace,{{"Result", Text.Trim, type text}}),
Replace1 = Table.ReplaceValue(Trim," ",". ",Replacer.ReplaceText,{"Result"})
in
Replace1[/SIZE]``````

#### Peter_SSs

##### MrExcel MVP, Moderator
yes this is the result im looking for.
Are there answers to my questions too?

#### Phill032

##### New Member
Sorry, my laptop wont let me reply... such is my life today.. I run reports for 12 dealerships. Just switched to excel 2013 from 2007.
The reason for power query is I can run many different queries from the 1 set of data. And also stack "apend" the data. All my previous reports have got bogged down with formulas and macros etc.
There would be a max of 19 price changes within 1 cell.

#### Peter_SSs

##### MrExcel MVP, Moderator
The reason for power query is I can run many different queries from the 1 set of data. And also stack "apend" the data. All my previous reports have got bogged down with formulas and macros etc.
There would be a max of 19 price changes within 1 cell.
OK, thanks. I'll leave it to sandy666 &/or others then.

#### horseyride

##### Board Regular
Code:
``````let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
MySort = (x) => Text.Combine(List.Reverse(Text.Split(x, ".")), ". "),
in Reversed``````

Last edited: