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

Top 10 voorkomende tekst

Status
Niet open voor verdere reacties.

Gimler

Gebruiker
Lid geworden
22 nov 2011
Berichten
8
Beste iedereen,

Ik heb in excel lange lijsten (soms wel 2000 records) van straatnamen. Nu wil ik een top 10 (of misschien meer, ligt aan de uitkomst) samenstellen met daarin de straatnamen die het meest voorkomen in de lijst. Ik denk dat dit wel mogelijk is in Excel, maar door gebrek aan kennis krijg ik dit niet voor elkaar. Hoop dan ook dat jullie mij hierbij kunnen helpen.

Uiteraard heb ik al op google gezocht. Ik kwam op een Engelse website een soort gelijke vraag tegen, waarbij de onderstaande oplossing werd gegeven. Deze heb ik geprobeerd. Het lukt me echter niet een resultaat te krijgen, doordat Excel al bij de eerste formule een fout gaf en ik deze niet heb kunnen oplossen. (uiteraard wel de formules naar het Nederlands vertaald).

Assuming that A2:A100 contains your text values, try the following which
will take into consideration ties for 10th place...

B2, copied down:

=IF((A2<>"")*(ISNA(MATCH(A2,$A$1:A1,0))),COUNTIF($A$2:$A$100,A2),"")

C2, copied down:

=IF(N(B2),RANK(B2,$B$2:$B$100)+COUNTIF($B$2:B2,B2)-1,"")

D1: 10

This indicates that you want a Top 10 list. You can change this as
necessary. For example, if you want a Top 5 list, enter 5 instead.

E1:

=MAX(IF(B2:B100=INDEX(B2:B100,MATCH(D1,C2:C100,0)),C2:C100))-D1

....confirmed with CONTROL+SHIFT+ENTER, not just ENTER.

F2, copied down:

=IF(ROW()-ROW($F$2)+1<=$D$1+$E$1,INDEX($A$2:$A$100,MATCH(ROW()-ROW($F$2)+
1,$C$2:$C$100,0)),"")

Ik gebruik de Nederlandse versie van Excel 2003.
Super bedankt voor de hulp alvast!

Gimler
 
Ik heb in excel lange lijsten (soms wel 2000 records) van straatnamen. Nu wil ik een top 10 (of misschien meer, ligt aan de uitkomst)

Ik neem even aan det je de straatnamen wilt:
Code:
Hulpkolom:
=ALS($A2="";"";ALS(AANTAL.ALS($A$2:$A2;$A2)>1;"";AANTAL.ALS($A$2:$A$9;$A2)+RIJ()/100000))

Straatnaam weergeven met aantal maal dat hij voorkomt:
=ALS(AANTAL.ALS($B$2:$B$9;">0")>=RIJ(A1);INDEX($A$2:$A$9;VERGELIJKEN(GROOTSTE($B$2:$B$9;RIJ(A1));$B$2:$B$9;0))&"  "&AFRONDEN(GROOTSTE($B$2:$B$9;RIJ(A1));1)&" x";"")
Bereiken aanpassen zover als nodig, kolom A de straatnamen, kolom B de hulpkolom.

Succes,
 
Het voorbeeld van Cobbe iets uitgebreid, met een alternatieve (matrix)formule.
 

Bijlagen

Super bedankt voor de reacties allemaal!

Het voorbeeld van WHER (en Cobbe) werkt voor mij het beste. Ik had alleen nog één vraagje. Als ik het voorbeeld van WHER voor mijn eigen bestand uitvoer kan ik bij het top tien lijstje (wat in cel H staat) niet kiezen om meer/minder weer te geven.
In het meegeleverde bestandje kan ik ook de top 10 niet vergroten naar bijvoorbeeld een top 25.
 
Het is gelukt! Bedankt, weer wat geleerd :)
Vraag is bij deze opgelost.
 
Sorry voor de dubbelpost, maar had toch nog een vraagje:

De rijen met straten zijn niet altijd even lang. Als ik de max cel lengte van A op bijvoorbeeld 500 zet, heeft dat dan invloed op de uitkomst als de rij met straten maar tot 200 loopt? Ik heb zelf het idee van niet, maar vraag het toch maar even voor de zekerheid!

Heb namelijk meerdere lijsten en als ik niet iedere keer de formule hoef aan te passen scheelt dat weer wat werk. :)
 
Een bepaalde marge inbouwen heeft geen invloed op de resultaten, wel op de rekentijd, zeker met matrixformules. Maar zolang je in de grootte-orde van 500 rijen blijft zou dat geen probleem mogen geven. Indien je vertrouwd bent met variabele genaamde bereiken kun je die ook toepassen.
 
Hoi allen,

de excel ziet er goed uit. Mijn vraag alleen is nog, indien ik meerdere kolommen met straatnamen heb hoe kan ik dan de top10 boven water krijgen?
Het verbreden van de range alleen werkt niet.

Alvast bedankt
 
Helden112,

Graag je eigen draadje starten, verwijs desnoods naar deze om te verduidelijken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan