Avatar billede pernillemb Nybegynder
04. december 2004 - 00:22 Der er 11 kommentarer og
1 løsning

Sortering af pointstilling løbende

Jeg har en tabel hvor jeg løbende opdatere resultatet af nogle forskellige kampe (via andre faneblade så tabellen opdateres automatisk) og hvor det samlede antal point automatisk bliver sammentalt i en kolonne ude til højre.

Nu vil jeg så gerne have en ny liste hvor den automatisk lister rækkefølgen så den der har flest point står øverst, den der har næst flest står nummer 2 osv...

Kan jeg få den til det ved hjælp af en alm. IF..THEN sætning eller skal jeg virkelig ud i noget makro/VBA halløj...??? Er ikke så god til det med makro'er så vil helst hvis det kunne blive en alm formel...

Håber der er nogen der kan hjælpe...

Pernille
Avatar billede kabbak Professor
04. december 2004 - 00:40 #1
Du skal nok ud i advanceret filter og så sortering, for at dtt kan gøres, men i makro.

et eksempel:

Jeg har data i A1 til F11
første række er overskrifter

Dem filtrerer jeg så over til J1 - O11
stadigvæk med nøjagtig de samme overskrifter som I A1 -F1,

du skal selv skrive dem første gang


derefter sorterer jeg på total kolonnen som er O kolonnen.

Koden skal ligge i arkmodulet

Private Sub Worksheet_Calculate()
Range("A1:F11").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "J1:O11"), Unique:=False
Range("O2").Select
    Selection.Sort Key1:=Range("O2"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Avatar billede kabbak Professor
04. december 2004 - 00:56 #2
så lige at dataerne kom fra andre faner, så beregningen ikke sker mens du er på siden, så skal koden se sådan ud

Private Sub Worksheet_Activate()
Range("A1:F11").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "J1:O11"), Unique:=False
Range("O2").Select
    Selection.Sort Key1:=Range("O2"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Avatar billede pernillemb Nybegynder
04. december 2004 - 08:13 #3
hmmm... ja så var det at jeg stod af... he he...

ved ikke om ovenstående kan bruges i mit ark...det ser nogenlunde sådan ud... *S*

A ..... J
x ..... a
y ..... b
z ..... c
osv ... osv

A kolonnen er nogle faste navne som ikke ændres
J kolonnen er en sammentælling (alm sum funktion) af de mellemliggende kolonner (B til I)
B til I fremkommer fra nogle andrer ark i samme dokument

Nu vil jeg så have den her liste over hvem der fører og rækken derned ad i kolonnerne L og M... så i L står navnene (fra kolonne A) og i M står deres score (fra kolonne J)... så i M2 står der den højeste score fra J kolonnen og i L2 navnet på den der har den højeste score...osv der nedad...

Findes der ikke en eller anden formel som kan finde det højeste tal blandt alle tallene i kolonne J...??? Og derefter det højeste af dem der er tilbage...???

Mener helt bestemt man burde kunne lave den liste uden at skulle ud i VBA programmering... for ved ærligt talt ikke om det kabbak har skrevet ovenover kan bruges som det er eller om det skal rettes til...og hvor det skal hen og hvordan og hvorledes... *SS*

Ved ikk om denne uddybning hjalp eller det bare blev mere forvirrende...

Pernille
Avatar billede kabbak Professor
04. december 2004 - 16:24 #4
Jo, formlen Plads
I L2 sæt denne ind

=PLADS(J2;$J$2:$J$4)

ret $J$4 firtallet til den sidste række der er brugt nedad
Avatar billede kabbak Professor
04. december 2004 - 16:25 #5
træk derefter formlen ned til sidste række
hvis du har engelsk excel hedder PLADS RANK
Avatar billede pernillemb Nybegynder
07. december 2004 - 01:55 #6
hmmm... nu har jeg så listen med rangen på de forskellige... har lavet en ny kolonne i K hvor der står ud for hvilken plads de har i det samlede regnskab... nu er det så jeg vil lave den liste hvor den skriver noget i stil med: "point ud for plads 1" og nedenunder "point ud for plads 2" osv...dvs hvis der står 1 i K7 så skal den returnere værdien der står i L7 osv... men den skal også tage højde for at der f.eks. kan komme til at stå 3 flere steder i kolonne K (som jo er muligt med formlen Plads)...

SÅ go er jeg heller ikk til excel... håber stadig på lidt hjælp... *S*
Avatar billede pernillemb Nybegynder
07. december 2004 - 04:05 #7
suuuuuuuuk jeg er en nød til excel... :S

nå...prøver lige at forklare fra en ende af for jeg er åbenbart ikke så god til det som jeg har bildt mig selv ind... :-(

jeg har nogle forskellige faner hvor der bliver registreret nogle forskellige spil på hver og en fane  hvor alle disse resultater bliver samlet i en oversigt.

i fane A f.eks. står der 'x vs. y' og ud for skal man skrive 1 eller 2 alt afhængigt af hvem der vinder... hvis x vinder skal der stå 1 og hvis y vinder skal der stå 2. Næste kampe er så 'x vs. z', 'x vs. v', 'y vs. z', 'y vs. v' og 'z vs. v' hvor det er samme princip med 1 og 2.

på oversigts fanen skal det så registrers i B2 hvor mange gange x vandt i spillene fra fane A, i B3 skal der stå hvor mange gange y vandt i fane A osv... i C2 skal der stå hvor mange gange x vandt i fane B... osv osv osv...

på oversigts fanen bliver det så talt sammen... altså en sum tværs over rækken... og det er denne sum jeg skal finde den der ligger højst, nummer 2 osv (som min spørgsmål oprindeligt startede med)

Efter at ha rodet lidt med det kan jeg godt se at jeg nok ikke kommer uden om noget makro programmering af en slags...meeeeeeen... det er jeg jo knaaaaaap så go til...

*smiler rigtig meget sødt og nåwet til en der ka hjælpe mig*
Avatar billede pernillemb Nybegynder
07. december 2004 - 04:06 #8
vil da lige smide lidt flere point i puljen (hvis jeg ka finde ud af det... *GGG*)
Avatar billede pernillemb Nybegynder
07. december 2004 - 04:28 #9
hmmm... ka jeg ikk finde ud af... *GGGG* nå, men så ka jeg da love 100 ekstra point til den der ka hjælpe mig... :-)
Avatar billede kjulius Novice
26. december 2004 - 04:12 #10
Hmm....

Har lidt svært ved at se, hvori problemet skulle ligge. Som kabbak har angivet kan funktionen PLADS (eller RANK i den engelske version) bruges.

I din oversigts-fane kunne du jo passende bruge kolonne 1 til rangeringen, fulgt af spillernavn og de individuelle point-tildelinger og til sidst en sum-kolonne. Det er jo sådan set også sådan du beskriver det.

I kolonne et indsætter du PLADS funktionen som angivet af kabbak (i stedet for J angiver du den kolonne hvor point-summen ligger i dit faneblad) -

Det der mangler er jo sådan set kun en sortering, er det ikke?

Marker det område der skal sorteres (hvis hele fanebladet skal sorteres, kan du gøre det med Ctrl-A) - klik på Data i menuen - Vælg at sortere ud fra sum-kolonnen (og husk at ændre til Faldende sekvens.

Du burde nu have en nydelig oversigt, hvor alle spillerne er rangerede. Måske ønsker du ikke de detaillerede oplysninger med, og så kan du jo markere disse kolonner og skjule dem (Formater, Kolonne, Skjul) før udskrift. Du kan jo altid få dem vist igen ved at markere kolonnerne på begge sider af den tykke streg og gentage proceduren, bare denne gang trykke på Vis i stedet for Skjul).

Automatisk er det selvfølgelig ikke, for hver gang antallet af spillere ændrer sig, er du nødt til at ændre i PLADS formlen (parameter 2 skal dække hele området fra spiller 1 til spiller ?), men SÅ tit ændres der vel heller ikke i antallet af spillere??
Avatar billede pernillemb Nybegynder
26. december 2004 - 09:36 #11
hmmm du har lidt ret... og alligevel ikke... for pointen var jo at den selv skulle sortere det hver gang der var spillet en kamp... så man ikke selv skulle gøre det... *SS* så jeg havde forestillet mig at man på en eller anden måde kopierede navnene og deres point over i to nye kolonner og lavede sorteringen der...
Avatar billede pernillemb Nybegynder
14. december 2005 - 14:33 #12
Spørgsmålet bliver lukket...
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