Avatar billede Slettet bruger
17. november 2004 - 08:19 Der er 13 kommentarer og
2 løsninger

Sortering af nummerliste

Jeg har en liste med varenumre, som jeg ikke kan få sorteret. Nogle af varenumrene har et foranstillet 0 og andre har også et bogstav bagest. Jeg har sat kolonne til text, men alligevel sorterer den forkert
030459
030811
030813
111981
111983
848813
848882
8886828206
8886828306
8886848813
015485L
030330L
030424L
030805L
030807L
173050G
175772P
176626P
177091P
179070P
179071P
Avatar billede mugs Novice
17. november 2004 - 08:21 #1
Den sorterer korrekt når det er et tekstfelt.
Avatar billede b_hansen Novice
17. november 2004 - 08:22 #2
som mugs siger, er der sorteringen korrekt. Dit problem er, at teksterne har forskellig længde. For at løse dette problem, skal du have gjort dem lige lange; eventuelt med foranstillede nuller.
Avatar billede Slettet bruger
17. november 2004 - 08:24 #3
Nej det gør min excl ikke. Jeg har Excel 2002 SP-2.
Avatar billede Slettet bruger
17. november 2004 - 08:32 #4
Det er som nævnt varenumre og de er desværre ikke ligelange. Det kan man ikke lave om på. Hvis jeg lægger listen over i Word sorterer den korrekt
015485L
030330L
030424L
030459
030805L
030807L
030811
030813
111981
111983
173050G
175772P
176626P
177091P
179070P
179071P
848813
848882
8886828206
8886828306
8886848813
Avatar billede jpvj Nybegynder
17. november 2004 - 09:23 #5
Du har ret - Excel sorterer umiddelbart underligt.

Jeg prøver at finde noget dokumentation.

En mulig workaround er følgende:

Skriv en funktion, der tager en værdi, len som input og returnerer samme værdi foranstillet med ex. a0..0 til en forudbestemt længde.

ex.
Public Function pad(value, newlen) As String
    If Len(value) >= newlen Then
        Err.Raise vbObjectError + 1, "pad(value, newlen)", "Værdien (" & value & ") er længere eller lig med den angivne newlen", vbExclamation, "Fejl"
    End If
 
    Dim st As String
    st = "a"
    For i = Len(value) + 1 To newlen
        st = st & "0"
    Next i
   
    pad = st & value
End Function

Kolonne B sætter du ex =pad(A1, 11) osv...

A            B
015485L  a00000030459
030330L  a0000030330L
030424L  a0000030424L
030459  a00000030459
030805L  a0000030805L
030807L  a0000030807L

Herefter sorterer du på kolonne B og du får den korrekte sortering
Avatar billede jpvj Nybegynder
17. november 2004 - 09:43 #6
Excel adskiller en sortering i tal og tekst. Dette kan du ikke ændre på ved celleformat eller ved at angive et ' foran værdien (ex. '00234)

... eller gør du? :-)

Jeg kan ikke lige forstå logikken i Words sortering som du viser. Forklar venligst hvorfor ex.

015485L kommer før 030811
Avatar billede jpvj Nybegynder
17. november 2004 - 09:43 #7
sorry - word sorterer naturligvis som tekstværdier...
Avatar billede bak Forsker
17. november 2004 - 09:45 #8
Tjah, min excel2002 kan fint sortere dem på samme måde som word..
Jeg bliver under sortering spurgt om hvordan jeg vil sortere numre og tekst, og her vælger jeg den nederste løsning (sort numbers and numbers stored as text seperatly)
Avatar billede jpvj Nybegynder
17. november 2004 - 09:54 #9
bak> Jeg nåede også frem til det samme.

Det kan skrives som en makro:

Sub Sorter()
    Range("A1:B22").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
Avatar billede Slettet bruger
17. november 2004 - 09:59 #10
jpvi: det er ikke logisk at gøre sådan.
bak:
når jeg vælger den nederste løsning (sort numbers and numbers stored as text seperatly) sorteres excel som 2 separate nummerserier, først en med numre alene og derefter kommer så numre med bogstav i enden
Avatar billede bak Forsker
17. november 2004 - 10:03 #11
Så er ikke alle celler formateret som tekst eller ikke alle værdi lagt ind som tekst....nogle er stadig værdier
Det er jo netop det sort numbers and numbers stored as text seperatly betyder
Avatar billede Slettet bruger
17. november 2004 - 10:04 #12
jpvj: det virker desværre ikke på min pc. Jeg prøver at sende fil hjem på min private pc, der har jeg en anden udgave af excl - så ser jeg på det igen i morgen
Avatar billede bak Forsker
17. november 2004 - 10:05 #13
du kunne evt. lige prøve at køre makroen fra http://www.eksperten.dk/spm/562112 på dine data
Avatar billede Slettet bruger
17. november 2004 - 10:13 #14
bak: det virker med den makro - meld det ind som et svar, du har fortjent pointene
//AMH
Avatar billede bak Forsker
17. november 2004 - 10:20 #15
fint :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester