17. november 2004 - 08:19Der 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
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.
Synes godt om
Slettet bruger
17. november 2004 - 08:24#3
Nej det gør min excl ikke. Jeg har Excel 2002 SP-2.
Synes godt om
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
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
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)
Sub Sorter() Range("A1:B22").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _ xlNo, OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub
Synes godt om
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
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
Synes godt om
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
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.