Thanks.
Assuming data in A1 down
Put in B1, copy down:
=IF(A1="","",IF(ISNUMBER(A1),A1,LEFT(A1)+CODE(LEFT(A1))/10^10))
Then select both cols A & B, sort by col B, ascending
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Terry Bennett" <terry.b...@virgin.net> wrote in message
news:%23lfjls$dIHA...@TK2MSFTNGP05.phx.gbl...
I see your logic but this sorts all digits begining with a '1' first ...
hence 112 comes before 2. In the case of 2, 2A, etc it seems to sort these
randomly within the digits begining with 2s.
"Max" <demec...@yahoo.com> wrote in message
news:ekXXUpAe...@TK2MSFTNGP04.phx.gbl...
Since you have now extended the scope,
hang around awhile for better solutions from others
--
Max
Singapore
http://savefile.com/projects/236895
xdemechanik
---
"Terry Bennett" <terry.b...@virgin.net> wrote in message
news:OgrR1nBe...@TK2MSFTNGP02.phx.gbl...
Maybe this.
First up sort ascending on your data in col A.
This will leave your numbers sorted in the top of the
column and your text sorted at the bottom of the column
Copy the numbers across to column B. Then with the text
values, for this example let's say that the first text entry is in A9.
Put this in B9 and drag down to the end of your data.
=LEFT(A9,1)*1
You may need something different depending
on what your actual data is. What you want is to extract
the numbers without the letters, and to convert the
text numbers to real numbers (that's the *1 bit)
Then in col. C we pinch a bit of Max's formula.
Put this in C1 and drag down to the end of your data
=B1+ROW()/10^10
Now select all three columns A,B and C
and sort on col. C ascending.
Hopefully col A should be sorted the way you want.
HTH
Martin
"Terry Bennett" <terry.b...@virgin.net> wrote in message
news:OgrR1nBe...@TK2MSFTNGP02.phx.gbl...
Not a problem - I can get around it manually.
I do appreciate your suggestion - many thanks.
"MartinW" <ht...@hotmail.invalid> wrote in message
news:edEzveCe...@TK2MSFTNGP06.phx.gbl...
If I understand the problem correctly Max was almost there:
=IF(A1="","",IF(ISNUMBER(A1),A1,--LEFT(A1)+CODE(LEFT(A1))/10^10))
If there can be more than one letter suffix I suggest to use
RegExpReplace to separate numerical and text parts...
Regards,
Bernd
If you change the extraction formula to this,
=LEFT(A9,LEN(A9)-1)*1
It will sort this column
1
3B
7C
12B
2
5
7A
6C
7B
12A
4
5A
4B
3A
6B
7
3C
124A
7D
124B
Like this
1
2
3A
3B
3C
4
4B
5
5A
6B
6C
7
7A
7B
7C
7D
12A
12B
124A
124B
Is that not what you are trying to do?
Regards
Martin
"Terry Bennett" <terry.b...@virgin.net> wrote in message
news:uuBhREHe...@TK2MSFTNGP02.phx.gbl...
Terry
"Terry Bennett" <terry.b...@virgin.net> wrote in message
news:%23lfjls$dIHA...@TK2MSFTNGP05.phx.gbl...