ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Sort Order Doesn't Seem Correct (https://www.excelbanter.com/excel-programming/442761-sort-order-doesnt-seem-correct.html)

Rich Locus

Sort Order Doesn't Seem Correct
 
Hello:
I have a program that sorts a text column and then does a sequence check to
make sure it is in ascending order so I can use a Vlookup using the option
where data must be in a sorted order.

Here is a snippet of the data where it doesn't sort correctly. The field is
defined as text. If you copy and paste this into a column you should have
the same strange results in that it doesn't sort it in ASCII order. The dash
character (Hex 2D) sorts AFTER the letter "K", which has a Hex code of "4B".
So it is not sorting correctly and my VLookup fails in that area.

Here's the data... try it for yourself:

1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL

The last 4 rows should be higher in the sorted data, not at the end.

Any help would be appreciated.

I have tried to sort using VBA and also just the regular user interface...
with the same results.

--
Rich Locus
Logicwurks, LLC

Jim Cone[_2_]

Sort Order Doesn't Seem Correct
 
From the xl2003 help file...
"Default sort orders"...
"Apostrophes (') and hyphens (-) are ignored, with one exception: If two text strings are the same except for a hyphen,
the text with the hyphen is sorted last."

Not the way I would do it, but ...
--
Jim Cone
Portland, Oregon USA
http://www.contextures.com/excel-sort-addin.html




"Rich Locus"
wrote in message ...
Hello:
I have a program that sorts a text column and then does a sequence check to
make sure it is in ascending order so I can use a Vlookup using the option
where data must be in a sorted order.

Here is a snippet of the data where it doesn't sort correctly. The field is
defined as text. If you copy and paste this into a column you should have
the same strange results in that it doesn't sort it in ASCII order. The dash
character (Hex 2D) sorts AFTER the letter "K", which has a Hex code of "4B".
So it is not sorting correctly and my VLookup fails in that area.

Here's the data... try it for yourself:

1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL

The last 4 rows should be higher in the sorted data, not at the end.

Any help would be appreciated.

I have tried to sort using VBA and also just the regular user interface...
with the same results.

--
Rich Locus
Logicwurks, LLC


Per Jessen[_2_]

Sort Order Doesn't Seem Correct
 
Hi

It seems as you have also figured out, that the dash confuses the sort
function.

I used Find/Replace and replaced the dash with a space character,
sorted the data, and inserted the dash again using Find/Replace.

Hopes this helps.
....
Per

On 23 Maj, 06:31, Rich Locus
wrote:
Hello:
I have a program that sorts a text column and then does a sequence check to
make sure it is in ascending order so I can use a Vlookup using the option
where data must be in a sorted order.

Here is a snippet of the data where it doesn't sort correctly. *The field is
defined as text. * If you copy and paste this into a column you should have
the same strange results in that it doesn't sort it in ASCII order. *The dash
character (Hex 2D) sorts AFTER the letter "K", which has a Hex code of "4B". *
So it is not sorting correctly and my VLookup fails in that area.

Here's the data... try it for yourself:

1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL

The last 4 rows should be higher in the sorted data, not at the end.

Any help would be appreciated.

I have tried to sort using VBA and also just the regular user interface....
with the same results.

--
Rich Locus
Logicwurks, LLC



Rich Locus

Sort Order Doesn't Seem Correct
 
Thanks for the advice. You both answered my question and get credit... Do I
like the way Microsoft did this? NO!!! If I sort the same data in a
Microsoft Access query, it sorts correctly... What were they thinking!!!
--
Rich Locus
Logicwurks, LLC


"Per Jessen" wrote:

Hi

It seems as you have also figured out, that the dash confuses the sort
function.

I used Find/Replace and replaced the dash with a space character,
sorted the data, and inserted the dash again using Find/Replace.

Hopes this helps.
....
Per

On 23 Maj, 06:31, Rich Locus
wrote:
Hello:
I have a program that sorts a text column and then does a sequence check to
make sure it is in ascending order so I can use a Vlookup using the option
where data must be in a sorted order.

Here is a snippet of the data where it doesn't sort correctly. The field is
defined as text. If you copy and paste this into a column you should have
the same strange results in that it doesn't sort it in ASCII order. The dash
character (Hex 2D) sorts AFTER the letter "K", which has a Hex code of "4B".
So it is not sorting correctly and my VLookup fails in that area.

Here's the data... try it for yourself:

1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL

The last 4 rows should be higher in the sorted data, not at the end.

Any help would be appreciated.

I have tried to sort using VBA and also just the regular user interface....
with the same results.

--
Rich Locus
Logicwurks, LLC


.


Neal Zimm

Sort Order Doesn't Seem Correct
 
Rich, I feel your pain as I had the same problem.

what were thinking, my best guesses are, (if they matter)

1. Since you can use the apostrophe as the first byte in a cell to
"make" numeric data seem like text, MSoft chooses to ignore it when doing a
worksheet sort. Go figure.

2. The dash is harder, but it must be something like this. Excel is
mostly a numbers processing tool and a leading or trailing - is a negative
number.
One WOULD THINK the Redmond crew can differentiate a dash with a numeric
value versus being contained within a non numeric string, but then if my aunt
had balls she'd be my uncle. Also, if it sees 100-25 it could be trying to
figure out that you want 75.


Best,
Neal

--
Neal Z


"Rich Locus" wrote:

Thanks for the advice. You both answered my question and get credit... Do I
like the way Microsoft did this? NO!!! If I sort the same data in a
Microsoft Access query, it sorts correctly... What were they thinking!!!
--
Rich Locus
Logicwurks, LLC


"Per Jessen" wrote:

Hi

It seems as you have also figured out, that the dash confuses the sort
function.

I used Find/Replace and replaced the dash with a space character,
sorted the data, and inserted the dash again using Find/Replace.

Hopes this helps.
....
Per

On 23 Maj, 06:31, Rich Locus
wrote:
Hello:
I have a program that sorts a text column and then does a sequence check to
make sure it is in ascending order so I can use a Vlookup using the option
where data must be in a sorted order.

Here is a snippet of the data where it doesn't sort correctly. The field is
defined as text. If you copy and paste this into a column you should have
the same strange results in that it doesn't sort it in ASCII order. The dash
character (Hex 2D) sorts AFTER the letter "K", which has a Hex code of "4B".
So it is not sorting correctly and my VLookup fails in that area.

Here's the data... try it for yourself:

1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL

The last 4 rows should be higher in the sorted data, not at the end.

Any help would be appreciated.

I have tried to sort using VBA and also just the regular user interface....
with the same results.

--
Rich Locus
Logicwurks, LLC


.


Rich Locus

Sort Order Doesn't Seem Correct
 
Thanks, Neal:

I did find out that even though the VLookup and the Match function both say
the data must be in ascending order (they don't give any details in the help
file) , they mean "Microsoft special ascending order". I actually put a
column in true ASCII sequence that included dashes, and the Vlookup and Match
functions failed because columns really CAN'T be in true ASCII ascending
sequence. Apparently both the VLookup and Match functions also have
exceptions for dashes and apostrophes. I wish Microsoft would be more clear
on their documentation, or at least have an option in the SORT, VLOOKUP and
MATCH function that says "Use True ASCII Sequence".

Go figure :)

--
Rich Locus
Logicwurks, LLC


"Neal Zimm" wrote:

Rich, I feel your pain as I had the same problem.

what were thinking, my best guesses are, (if they matter)

1. Since you can use the apostrophe as the first byte in a cell to
"make" numeric data seem like text, MSoft chooses to ignore it when doing a
worksheet sort. Go figure.

2. The dash is harder, but it must be something like this. Excel is
mostly a numbers processing tool and a leading or trailing - is a negative
number.
One WOULD THINK the Redmond crew can differentiate a dash with a numeric
value versus being contained within a non numeric string, but then if my aunt
had balls she'd be my uncle. Also, if it sees 100-25 it could be trying to
figure out that you want 75.


Best,
Neal

--
Neal Z


"Rich Locus" wrote:

Thanks for the advice. You both answered my question and get credit... Do I
like the way Microsoft did this? NO!!! If I sort the same data in a
Microsoft Access query, it sorts correctly... What were they thinking!!!
--
Rich Locus
Logicwurks, LLC


"Per Jessen" wrote:

Hi

It seems as you have also figured out, that the dash confuses the sort
function.

I used Find/Replace and replaced the dash with a space character,
sorted the data, and inserted the dash again using Find/Replace.

Hopes this helps.
....
Per

On 23 Maj, 06:31, Rich Locus
wrote:
Hello:
I have a program that sorts a text column and then does a sequence check to
make sure it is in ascending order so I can use a Vlookup using the option
where data must be in a sorted order.

Here is a snippet of the data where it doesn't sort correctly. The field is
defined as text. If you copy and paste this into a column you should have
the same strange results in that it doesn't sort it in ASCII order. The dash
character (Hex 2D) sorts AFTER the letter "K", which has a Hex code of "4B".
So it is not sorting correctly and my VLookup fails in that area.

Here's the data... try it for yourself:

1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932-DBKI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932KI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL
1301932-LBKI/OL

The last 4 rows should be higher in the sorted data, not at the end.

Any help would be appreciated.

I have tried to sort using VBA and also just the regular user interface....
with the same results.

--
Rich Locus
Logicwurks, LLC

.



All times are GMT +1. The time now is 01:09 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com