• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Sorteer resoluties

Status
Niet open voor verdere reacties.

tijmen amsing

Gebruiker
Lid geworden
29 jul 2007
Berichten
34
Hallo,

Ik ben in Excel bezig met maken van een lijst van films die ik bezit.
In één van de kolommen staan de resoluties van de films vermeld.

Ze staan op deze manier in de cellen:

720 x 320
680 x 278
496 x 272
1280 x 536
720 x 304
692 x 288

Hierdoor worden de getallen door Excel niet meer als nummers herkent en worden ze niet goed gesorteerd.

Sorteer A-Z:

1280 x 536
496 x 272
680 x 278
692 x 288
720 x 304
720 x 320

Wat ik natuurlijk wil is dat ze netjes van groot naar klein (eerst breedte, dan hoogte) gesorteerd worden, dus:

1280 x 536
720 x 320
720 x 304
692 x 288
680 x 278
496 x 272

Kan iemand mij vertellen hoe dit moet en hoe ik dit vervolgens in een macro kan zetten?

Bedankt ;)

gr
 

Bijlagen

  • sort resolutie.xlsx
    10,4 KB · Weergaven: 10
dmv 2 hulp kolommen is het vrij eenvoudig.
(evt kun je deze verbergen)
 

Bijlagen

  • Copy of sort resolutie.xlsx
    15,2 KB · Weergaven: 15
Bedankt voor je reactie,
Het ziet er een beetje omslachtig uit maar het werkt inderdaad goed.

Ik zou graag één ding veranderd hebben aan de formules die je hebt ingevoerd in kolom B en C.
Wat ik namelijk graag zou willen is dat de formules zelf herkennen in welke rij ze staan. En vervolgens de inhoud van de bijhorende cel uit die rij splitsen. De formules moeten dus geen vaste cel toegewezen krijgen, zoals in deze formule A3 dat is: =LEFT(A3;FIND("x";A3;1)-2)
Dit vereist dus dat de formule altijd hetzelfde is.

Ik hoop dat ik het duidelijk genoeg uitgelegd heb.
 
Ik hoop dat ik het duidelijk genoeg uitgelegd heb.

Helaas :confused:

Code:
De formules moeten dus geen vaste cel toegewezen krijgen,
De formules worden gewoon mee gekopieerd naar de volgende rij
Code:
Rij 3: =LEFT(A3;FIND("x";A3;1)-2)
Rij 4: =LEFT(A4;FIND("x";A4;1)-2)
Rij 5: =LEFT(A5;FIND("x";A5;1)-2)
enz

De formule herkent dus wel de rij waarin hij staat.
Of begrijp ik jou nu verkeerd? :p
 
Dat is inderdaad niet wat ik bedoel.

Door andere sorteer functies in mijn sheet verandert de inhoud van de rijen constant.
Nou is het in mijn geval noodzakelijk dat de aangemaakte hulp cellen ook mee gaan met de andere cellen uit die rij naar de nieuwe locatie indien er op een andere wijze gesorteerd wordt (genre, titel etc)

Dus bijvoorbeeld in het geval van rij 3:
Als deze verplaatst wordt naar bijvoorbeeld rij 8, moeten in de hulp kolommen, die dus ook meegaan naar rij 8, niet meer A3 maar A8 staan.

Hierdoor is het dus noodzakelijk dat de formule van de cel herkent in welke rij hij op het moment staat. En hiermee bedoelde ik dus dat alle formules identiek moeten zijn om dit mogelijk te maken.

Ik heb geen idee of het überhaupt mogelijk is om zoiets in een formulebalk te beschrijven maar ik vraag het maar gewoon;)
 
Ik zie niet in wat er nu precies verkeerd gaat als je op nog een ander kolom gaat sorteren.
Bij het sorteren neem je toch het hele bereik?
Post anders nog eens een bestandje waarin getoond wordt waar het verkeerd gaat.
 
Voor het gemak heb ik mijn originele filmbestand maar toegevoegd, wel als .rar want Office Excel-werkblad met ingeschakelde macro's (.xlsm) is niet geldig op deze forum.

Het probleem dat ik dus eigenlijk opgelost wil zien is dat hij een value error geeft wanneer er geen resolutie is opgeven. Hierdoor sorteert hij niet correct.

De sheet is gemaakt en geoptimaliseerd voor een 17" widescreen.
 

Bijlagen

  • Filmlijst resoluties sort HM.rar
    60,7 KB · Weergaven: 13
Het probleem dat ik dus eigenlijk opgelost wil zien is dat hij een value error geeft wanneer er geen resolutie is opgeven. Hierdoor sorteert hij niet correct.
Bedoel je:
Code:
=ALS(ISLEEG(F9);"";LINKS(F9;VINDEN.ALLES("x";F9;1)-2)*1)
en
Code:
=ALS(ISLEEG(F9);"";RECHTS(F9;LENGTE(F9)-VINDEN.ALLES("x";F9;1)-1)*1)
Door *1 toe te voegen maak je er getallen van. Als je de celeigenschappen van J wijzigt in
Code:
"x"Standaard
dan krijg je dezelfde vermelding als in F over twee kolommen. Als je I en J kopieert, plakken speciaal - waarden, dan kun je F verwijderen en I en J verplaatsen.
 
Code:
=IF(F9="";"0";LEFT(F9;FIND("x";F9;1)-2))
=IF(F9="";"0";RIGHT(F9;LEN(F9)-FIND("x";F9;1)-1))
Als je nu sorteert op resolutie dan komt de film met hoogste resolutie bovenaan te staan en de films zonder opgave van resolutie onderaan.
Ik neem aan dat je dit bedoelt.
 
Code:
=IF(F9="";"0";LEFT(F9;FIND("x";F9;1)-2))
=IF(F9="";"0";RIGHT(F9;LEN(F9)-FIND("x";F9;1)-1))
Als je nu sorteert op resolutie dan komt de film met hoogste resolutie bovenaan te staan en de films zonder opgave van resolutie onderaan.
Ik neem aan dat je dit bedoelt.

werkt perfect!
bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan