elwis4 Posted April 14, 2010 Share Posted April 14, 2010 Jag håller på att göra ett tävlingsformulär i excel till en golftävling. Formuläret är ganska basic och grundfunktionen är så att alla spelare går in och fyller i sina resultat som de fått på respektive runda plus lita andra funktioner. Nu till de svåra. Jag skulle vilja få in en handikappfunktion i arket som automatisk räknar ut det nya handikapp för varje spelare. Jag har tänkt mig det så här: Varje spelare har en cell där de fyller i sitt aktuella handikapp: till exempel 15,1 i cell A1 När spelare har fyllt i sitt resultat i cell A2 så ska excel titta om det resultatet är handikapp grundande eller inte. Detta innebär i praktiken att om resultatet är 36 poäng eller mindre så ska handikappet inte ändras. Är resultatet 37 poäng eller mer så ska det dras 0,3 på handikappet för varje poäng som överstiger 36. Exempel 1: Spelare A har handikapp 15,1. Han fyller i resultat 38. Då blir det alltså 15,1 0.6 = 14,5 då han har två poäng bättre än 36 Exempel 2: Spelare B har handikapp 12,3. Han fyller i resultat 36. Handikappet ändras således inte då han inte överstiger 36 poäng Finns det någon vänlig själ som kan hjälpa mig med det? Quote Link to comment Share on other sites More sharing options...
singlemalt Posted April 14, 2010 Share Posted April 14, 2010 (edited) Så här skulle man kunna göra. I cellen D2 lägger man formeln: =OM(C2<=36;B2;B2-(C2-36)*0,3) Sen kopierar man bara D2 neråt så lång som behövs. Edited April 14, 2010 by singlemalt Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 14, 2010 Author Share Posted April 14, 2010 Så här skulle man kunna göra. I cellen D2 lägger man formeln: =OM(C2<=36;B2;B2-(C2-36)*0,3) Sen kopierar man bara D2 neråt så lång som behövs. Får till de så som du har visat de i ett nytt dokument men inte i mitt golfdokument.. mysko Ska labba lite, får se om jag får till de... tack för hjälpen BTW Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 14, 2010 Author Share Posted April 14, 2010 (edited) Får till det nu... Lade även till att man höjdes med 0,1 om man har 36 eller sämre Men säg att jag vill ha 20 resultat som handikappet grundas på. Till exempel om tävling har 20 runder och den ska räkna ut handikappet efter varje runda?? alltså om i exemplet: hans nya handikapp blev 14.5 efter ha fått 38 poäng. Sen spelar han en ny runda och får 38 poäng igen. Då ska det nya handikappet grundas på 14,5 Hänger ni med??¨ Edited April 14, 2010 by elwis4 Quote Link to comment Share on other sites More sharing options...
singlemalt Posted April 14, 2010 Share Posted April 14, 2010 Det kanske går att skriva en formel för det också men den skulle nog bli väldigt lång. Det enklaste är nog att skriva ett makro där man skannar igenom cellerna, hittar sista rundan, räknar ut det nya handikappet och uppdaterar cellen med första handikappet. Då kan man köra makrot efter varje runda. Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 14, 2010 Author Share Posted April 14, 2010 låter ju spännade har aldrig gjort de men det är ju en första gång för allting... Quote Link to comment Share on other sites More sharing options...
singlemalt Posted April 14, 2010 Share Posted April 14, 2010 Det är väl inte alldeles enkelt om man inte programmerat förut men det finns massor med exempel på nätet. En liten start, http://support.microsoft.com/kb/299036 Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 15, 2010 Author Share Posted April 15, 2010 (edited) hmm känns som overkill för mitt ändamål... Får nog nöja mig med resultathantering edit: Har gjort en anna variant. En tabell för resultat och en för handicapp. Verkar funka fint. Ett problem kvastår dock. Vär det inte står något i resultatet så ska den inte räkna ut något handikapp vlket den gör nu. Hur kan man komma till rätta med det?? Edited April 15, 2010 by elwis4 Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 16, 2010 Author Share Posted April 16, 2010 ingen som vet? Quote Link to comment Share on other sites More sharing options...
gsb Posted April 16, 2010 Share Posted April 16, 2010 (edited) =IF(ISBLANK(A1);"";%din formel%) heter det på engelska, tror det heter =OM(ÄRTOM( på svenska A1 = den cell som ska innehålla resultatet. /G Edited April 16, 2010 by odenxt Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 20, 2010 Author Share Posted April 20, 2010 =IF(ISBLANK(A1);"";%din formel%) heter det på engelska, tror det heter =OM(ÄRTOM( på svenska A1 = den cell som ska innehålla resultatet. /G Min formel ser för närvarande ut så här: =OM(C5<36;B15+0,1;B15-(C5-36)*0,3) Hur bakar jag in det i den formeln. Får inte till det Quote Link to comment Share on other sites More sharing options...
singlemalt Posted April 20, 2010 Share Posted April 20, 2010 =OM(ÄRTOM(C5);"";OM(C5<36;B15+0,1;B15-(C5-36)*0,3)) Om C5 är tom så lägg in ett blankt värde annars använd formel. Quote Link to comment Share on other sites More sharing options...
elwis4 Posted April 28, 2010 Author Share Posted April 28, 2010 =OM(ÄRTOM(C5);"";OM(C5<36;B15+0,1;B15-(C5-36)*0,3)) Om C5 är tom så lägg in ett blankt värde annars använd formel. Nu funkar nästan allt som jag vill att det ska funka. Formeln ser ut så här. =OM(ÄRTOM(C6);"";OM(C6<36;B16+0,1;B16-(C6-36)*0,3)) Vilket innebär att om man får 37 poäng eller mer så sänks handikappet med 0,3 per poäng som överskrider 36. * Får man 36 poäng så händer ingenting med handikappet Får man 35 poäng eller mindre så höjs handikappet med 0,1.. Ett problem kvar sen ska det nog inte vara mer:) Jag vill få in att om man får mellan 34 och 36 poäng så ska det inte hända något med handikappet.. Alltså som det jag har *-markerat fast det ska även inkludera 34 och 35 poäng Hänger ni med?? Otroligt tacksam för all hjälp Quote Link to comment Share on other sites More sharing options...
singlemalt Posted April 28, 2010 Share Posted April 28, 2010 Om jag fattat det hela rätt så ska det se ut så här, =OM(ÄRTOM(C6);""; OM(C6<34;B16+0,1; OM(C6>36;B16-(C6-36)*0,3; B16))) Om C6 är tom, visa tom cell. Om C6 är mindre än 34 öka värdet med 0,1. Om C6 är större än 36 så multiplicera värdet i B16, minus värdet i C6 minus 36, med 0,3. Annars använd ursprungsvärdet i B16. Quote Link to comment Share on other sites More sharing options...
elwis4 Posted May 12, 2010 Author Share Posted May 12, 2010 Har stött på ett till problem. Är säkert lätt men min hjärna funkar inte för tillfället. Spelarna fyller i sina resultat allt efter som. Dessa resultat ligger till grund för deras spelpoäng i tävlingen. Spelpoäng är snittet på alla rundorna. Det är ju inget svårt. Problemet är att man ska räkna bort de två sämsta resultaten och därefeter få sitt snitt. I Kolumen spelpoäng så är det nu de sammalagda reultat minus de två sämsta. Jag vill ha snittet fast de två sämsta resultaten ska inte vara medräknade.. Hur gör jag?? Quote Link to comment Share on other sites More sharing options...
gsb Posted May 12, 2010 Share Posted May 12, 2010 (edited) Använd funktionen LARGE(array;k) i kombination med AVERAGE(array): =AVERAGE(LARGE($A$1:$F$1;1);LARGE($A$1:$F$1;2);LARGE($A$1:$F$1;3);LARGE($A$1:$F$1;4)) där $F$1:$F$1 är alla rundor för resp spelare. I mitt exempel är det 6 rundor där man ska räkna med de fyra högsta. Edit: Vad det heter i svensk version vet jag inte men kan ju gissa på "STOR" eller "HÖGSTA"... Edited May 12, 2010 by odenxt Quote Link to comment Share on other sites More sharing options...
elwis4 Posted May 12, 2010 Author Share Posted May 12, 2010 Använd funktionen LARGE(array;k) i kombination med AVERAGE(array): =AVERAGE(LARGE($A$1:$F$1;1);LARGE($A$1:$F$1;2);LARGE($A$1:$F$1;3);LARGE($A$1:$F$1;4)) där $F$1:$F$1 är alla rundor för resp spelare. I mitt exempel är det 6 rundor där man ska räkna med de fyra högsta. Edit: Vad det heter i svensk version vet jag inte men kan ju gissa på "STOR" eller "HÖGSTA"... Hmm för inte till det.. Quote Link to comment Share on other sites More sharing options...
gsb Posted May 12, 2010 Share Posted May 12, 2010 (edited) Kolla i denna fil: golf-exempel.xls /G Edit: Exempel 2 är nog lite bättre...: golf-exempel2.xls Edited May 12, 2010 by odenxt Quote Link to comment Share on other sites More sharing options...
elwis4 Posted May 12, 2010 Author Share Posted May 12, 2010 aaaa, tack för hjälpen Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.