?
Solved

excel part number sort

Posted on 2010-11-29
5
Medium Priority
?
395 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 2000 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

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

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

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

764 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