Solved

excel part number sort

Posted on 2010-11-29
5
390 Views
Last Modified: 2012-06-22
How do I get excel to sort part numbers so I can find my part number grouped together well.  
I need all the part numbers with 1 to show together even if its 100, 1234,1000, or 10000?

For example:
100
200
1234
1000
2000
10000
20000
200000
100000
0
Comment
Question by:rembury
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 58

Expert Comment

by:cyberkiwi
ID: 34232009
I those are "part numbers" (text), you should be storing them as text, by adding ' in front of them
Then they will sort as text (1's together).
For now, you can add a new column, and type this formula (If first is A1, and new column is B)
B1:  =TEXT(A1)
Copy down
Then select all your data, and sort by the new column
When Excel prompts (Sort Warning), choose the lower one (sort numbers and text separately)
0
 
LVL 24

Expert Comment

by:StephenJR
ID: 34232017
You could use =LEFT(A1,1) in the next column and sort by that one.
0
 
LVL 58

Accepted Solution

by:
cyberkiwi earned 500 total points
ID: 34232080
I meant

B1:  =TEXT(A1, "@")
...

But Stephen's LEFT does the same
0
 
LVL 12

Expert Comment

by:sstampf
ID: 34232115
You can also use the attached macro. Just select the range which you want to sort and then run this macro. You can also assign a shortcut key to it.

Regards
Shashank
Sub test()
Dim rng As Range, rng2 As Range
Set rng = Intersect(Selection, ActiveSheet.UsedRange)
For Each rng2 In rng
rng2.Value = "x" & rng2.Value
Next rng2
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=rng, _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange rng
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
For Each rng2 In rng
rng2.Value = Right(rng2.Value, Len(rng2.Value) - 1)
Next rng2
End Sub

Open in new window

0
 

Author Closing Comment

by:rembury
ID: 34232319
This worked great and was easy to use.

Thank-you
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Improved? Move/Copy Add-in Replacement - How to avoid the annoying, “A formula or sheet you want to move or copy contains the name XXX, which already exists on the destination worksheet.” David Miller (dlmille)  It was one of those days… I wa…
: Microsoft Office Collaborate for free and online versions of Microsoft  Word, Excel, Powerpoint, OneNote, Onedrive , Email, Calendar etc. In short we can say that Microsoft office is a suite of servers, applications and services developed by  Micr…
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question