• 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.

Rangschikken op grootte

Status
Niet open voor verdere reacties.

budgie

Gebruiker
Lid geworden
24 dec 2007
Berichten
32
Is het mogelijk om een aantal willekeurige gegevens op grootte te rangschikken?


30(T) 0 0 0 30(S) 0 30(I) 20(I) 1(I) 10(I) 0 0 10(I) 0 0
30(I) 30(S) 30(T) 20(I) 10(I) 10(I) 1(I) 0 0 0 0 0 0 0 0
 
Laatst bewerkt:
wat is groot en wat is klein?

een voorbeeldbestandje zegt meer dan een blad tekst.
 
De eerste lijn zijn de willekeurige gegevens (zit wel enige structuur in).
De tweede lijn zou het uiteindelijke resultaat moeten worden.

Dank bij voorbaat
 
Selecteer de range en en klik op sort. Klik op options en vink vervolgens sort left to right aan. De rest wijst zich vanzelf. Klein probleempje is dat dat jouw logica niet strookt met een sorteer logica. Dit kan je waarschijnlijk wel oplossen met een custom list.

Het stukje over een voorbeeldbestand heb je blijkbaar gemist.
 
Laatst bewerkt:
Het betreft enkele 10 tallen rijen van 50 waarden (willekeurig) onder elkaar waarvan de 10 grootste waarden per rij in aanmerking komen om een eindklassement op te maken.
 
In eerste instantie tellen de getallen 30 20 10 enz in tweede de letters alfabetisch 5I) (S) (T)

zie bijlage
 

Bijlagen

  • rangschikken.xlsx
    10,2 KB · Weergaven: 33
Selecteer de range en en klik op sort. Klik op options en vink vervolgens sort left to right aan. De rest wijst zich vanzelf. Klein probleempje is dat dat jouw logica niet strookt met een sorteer logica. Dit kan je waarschijnlijk wel oplossen met een custom list.

Het stukje over een voorbeeldbestand heb je blijkbaar gemist.

Niet gemist, maar effen bezig geweest om uit het master bestand een representatief stuk te halen.
Toch bedankt voor de reactie.
 
Een nogal complexe functie hier, mogelijk kan het simpeler als je een beperkt aantal zoekwaarden hebt, maar voor nu:
Code:
AA5: =INDEX($A5:$Y5;;VERGELIJKEN(GROOTSTE(ALS($A5:$Y5=0;0;LINKS($A5:$Y5;LENGTE($A5:$Y5)-3)+VERGELIJKEN(RECHTS($A5:$Y5;3);{"(T)";"(S)";"(I)"};0));AA$4);ALS($A5:$Y5=0;0;LINKS($A5:$Y5;LENGTE($A5:$Y5)-3)+VERGELIJKEN(RECHTS($A5:$Y5;3);{"(T)";"(S)";"(I)"};0));0))
Let op:
1) Dit is een matrixfunctie, d.w.z. afsluiten met Control+Shift+Enter na invoeren/wijzigen en voor doorvoeren.
2) Een aantal getallen in je blad (gele cellen) waren opgeslagen als TEKST, dan krijg je foutmeldingen bij toepassen van de formule. Getallen moet je wel opslaan als getallen, anders even converteren.
 

Bijlagen

  • rangschikken (AC).xlsx
    15,1 KB · Weergaven: 24
Laatst bewerkt:
in VBA:

Code:
Sub M_snb()
    For j = 5 To 24
       Sheet1.Range("B1:Y1").Offset(j - 1).Sort Cells(j, 2), 2, , , , , , , , , 2
    Next
End Sub
 
Een nogal complexe functie hier, mogelijk kan het simpeler als je een beperkt aantal zoekwaarden hebt, maar voor nu:
Code:
AA5: =INDEX($A5:$Y5;;VERGELIJKEN(GROOTSTE(ALS($A5:$Y5=0;0;LINKS($A5:$Y5;LENGTE($A5:$Y5)-3)+VERGELIJKEN(RECHTS($A5:$Y5;3);{"(T)";"(S)";"(I)"};0));AA$4);ALS($A5:$Y5=0;0;LINKS($A5:$Y5;LENGTE($A5:$Y5)-3)+VERGELIJKEN(RECHTS($A5:$Y5;3);{"(T)";"(S)";"(I)"};0));0))
Let op:
1) Dit is een matrixfunctie, d.w.z. afsluiten met Control+Shift+Enter na invoeren/wijzigen en voor doorvoeren.
2) Een aantal getallen in je blad (gele cellen) waren opgeslagen als TEKST, dan krijg je foutmeldingen bij toepassen van de formule. Getallen moet je wel opslaan als getallen, anders even converteren.

Op het eerste zicht werkt dit perfect.
AlexCEL mega bedankt, ikga hiermee aan de slag.

Groeten,
Budgie

PS : ik ga ook de VBA code van "snb" uitproberen en trachten te begrijpen.
Heren nogmaals bedankt.
 
@budgie

svp niet quoten (dat werd 11 jaar geleden ook al niet gewaardeerd)
Van aliassen kun je geen gender afleiden; hou het forum svp genderneutraal.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan