Hallo
ich möchte für die Berechnung der Punkte einer Meisterschaft
die Punkte in einer Excel Tabelle berechnen.
Für mich geht das mit einer WENN Funktion, wo ich die Punkte
für die ersten 15 Plätze vergeben wollte.
Leider streikt Excel an der Stelle und kann noch Platz 8
richtig berechnen. Mache ich die Funktion mit allen
15 WENN voll, streikt Excel.
Het jemand eine Idee ?
Meine vollständige Funktion:
=WENN(B3=1;25;WENN(B3=2;20;WENN(B3=3;16;WENN(B3=4;13;WENN(B3=5;11;WENN(B3=6;10;WENN(B3=7;9;WENN(B3=8;8;WENN(B3=9;7;WENN(B3=10;6;WENN(B3=11;5;WENN(B3=12;4;WENN(B3=13;3;WENN(B3=14;2;WENN(B3=15;1;0)))))))))))))))
B3 ist der Platz, dh der Fahrer auf Platz 3 bekommt 16 Punkte…
Platz 15 nur noch 1 Punkt und 16/Rest geht leer aus.
Merci
Grüße
Wolfgang
Zwischenergebnisse
Verwende doch ausgeblendete Zellen oder ein anderes Blatt in der .xls dafür, die Wenn-Bedingungen schrittweise abzuarbeiten. Das ist viel einfacher zu warten, und Excel betrachtet dann das Ergebnis einer WENN-Formel einfach als wahr oder falsch, hat also nicht soviel geschachtelte Formeln.
Gruß, Dennis
Nebenbei bemerkt: WENN ich das richtig verstehe, ordnest Du jedem Ergebnis genau einen Wert zu. Vielleicht hilft Dir dann BEREICH.VERSCHIEBEN viel besser weiter?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Das ist ein guten Beispiel dafür, dass man in der Schule nicht umsonst lernt, Zahlenreihen zu erkennen und zu ergänzen. Damit lässt sich das in diesem Falle nämlich auf 5 WENNs reduzieren.
Schauen wir es uns mal genauer an:
1: 25
2: 20
3: 16
4: 13
**5: 11
6: 10
7: 9
8: 8
9: 7
10: 6
11: 5
12: 4
13: 3
14: 2
15: 1**
16: 0
17: 0
Wir sehen, dass die Plätze 1 bis 4 aus der Reihe fallen, die Plätze 5 bis 15 aber aus der Nummer berechnet werden können. Also wird es entsprechend aufgeteilt:
WENN(B3=1; 25;
WENN(B3=2; 20;
WENN(B3=3; 16;
WENN(B3=4; 13;
WENN(B3\>15; 0; 16-B3)))))
Nun kann man noch ein leeres Feld abdecken:
WENN(B3=1; 25;
WENN(B3=2; 20;
WENN(B3=3; 16;
WENN(B3=4; 13;
WENN(Oder(B3\>15;B3Das Spielt so, habe es probiert.
Sollte man doch mal komplexere Sachen haben, kann man auch mit "Lookup-Tables" arbeiten. Dazu bietet sich die SVEREIS-Formel an (siehe dazu die Hilfe). Ansonsten kann man so eine Tabelle auch ganz einfach mit einem Makro realisieren, so dass am Ende sowas bei rauskommt als Formel:
=Punkte(B3)
In dem Makro würden dann alle Wertekombinationen in einem festen Array stehen und einfach nur abgefragt.
Kristian
> Hallo
>
> ich möchte für die Berechnung der Punkte einer Meisterschaft
> die Punkte in einer Excel Tabelle berechnen.
>
> Für mich geht das mit einer WENN Funktion, wo ich die Punkte
> für die ersten 15 Plätze vergeben wollte.
>
> Leider streikt Excel an der Stelle und kann noch Platz 8
> richtig berechnen. Mache ich die Funktion mit allen
> 15 WENN voll, streikt Excel.
>
> Het jemand eine Idee ?
>
> Meine vollständige Funktion:
> =WENN(...)))))))))))))))
>
> B3 ist der Platz, dh der Fahrer auf Platz 3 bekommt 16
> Punkte...
> Platz 15 nur noch 1 Punkt und 16/Rest geht leer aus.
>
> Merci
>
> Grüße
> Wolfgang
Verwende doch ausgeblendete Zellen oder ein anderes Blatt in
der .xls dafür, die Wenn-Bedingungen schrittweise
abzuarbeiten. Das ist viel einfacher zu warten, und Excel
betrachtet dann das Ergebnis einer WENN-Formel einfach als
wahr oder falsch, hat also nicht soviel geschachtelte Formeln.
Gruß, Dennis
Nebenbei bemerkt: WENN ich das richtig verstehe, ordnest Du
jedem Ergebnis genau einen Wert zu. Vielleicht hilft Dir dann
BEREICH.VERSCHIEBEN viel besser weiter?
Hallo Dennis,
Das Ergebnis muss in der Spalte neben dem Platz stehen.
Die Tabelle ist so aufgebaut, dass die Namen der Fahrer
und Startnummern immer gleich in der Liste stehen, dann
tippert einer die Plätze ein,und die dazugehörigen
Punkte in der Spalte nebendran fummelt man manuell
hin.
Ich habe Deine Idee von „Bereich.Verschieben“ nicht
wirklich verstanden (sitze ehrlich gesagt selten vor
Excel)
Grüße
Wolfgang
Tippfehler: "B3" statt „B10“!
In der zweiten Variante der Formel hatte ich vergessen, das letzte B10 durch B3 zu ersetzen.
In der zweiten Variante der Formel hatte ich vergessen, das
letzte B10 durch B3 zu ersetzen.
Feher war aufgefallen.
DANKE ! Die Lösung ist GENIAL ! Merci !
Wolfgang
Ups, großer Fehler…
Lieber Wolfgang,
Ich habe Deine Idee von „Bereich.Verschieben“ nicht
wirklich verstanden (sitze ehrlich gesagt selten vor
Excel)
Jetzt beim zweiten hingucken ich auch nicht. Was ich meinte war SVERWEIS.
-
SChreibe die Liste, die Kristian erstellt hat, irgendwo in dein Tabellenblatt, wo es nicht stört. Etwa so:
| F |
G |
| 1 |
Platz |
| 2 |
1 |
| 3 |
2 |
| 4 |
3 |
| 5 |
4 |
| 6 |
5 |
| 7 |
6 |
| 8 |
7 |
| . |
. |
| . |
. |
| 18 |
17 |
Deine Zuordnungsliste steht also im Bereich F2:G18. Wenn der Platz z.B. in A1 steht, musst Du in A2 statt Deiner brutalen WENN-Formel nur noch folgendes eintragen:
=SVERWEIS(A1;$F$2:blush:G$18;2;1)
Achtung! die $ sind sehr wichtig! Dieser Befehl schaut in Deiner Zuordnungstabelle ($F$2:blush:G$18) nach, in welcher Zeile der Platz vorkommt und liest dann die entsprechende Punktzahl aus.
Das Ergebnis muss in der Spalte neben dem Platz stehen.
Das geht auch mit Zwischenrechnungen, Du kannst ja hier einfach den Verweis auf das letztendlich gültige Ergebnis hinschreiben, z.b. =Tabelle2!B5.
Gruß, Dennis
Ja, genau das meinte ich. Allerdings bin ich mir nicht ganz sicher, was passiert, wenn man z.B. den 18 Platz als Parameter übergibt. Excel ist da ja immer ein bisschen zickig, wenn es was nicht findet oder die Liste nicht sortiert ist. Müsste man mal probieren.
Übrigens kann man die Tabelle auch auf ein anderes Blatt auslagern, glaube ich. Dann stört sie gar nicht mehr. Die Formel würde dann so aussehen:
=SVERWEIS(A1:stuck\_out\_tongue\_winking\_eye:unkte!$F$2:blush:G$18;2;1)
sofern die zweite Tabelle „Punkte“ heißt. Sollte das nicht gehen mit dem Tabellenbezug, müsste aber ein Name helfen:
:=SVERWEIS(A1:stuck\_out\_tongue\_winking\_eye:unkte;2;1)
wobei „Punkte“ jetzt der Name der Matrix in der zweiten Tabelle ist. Das würde ich sowieso so machen, auch, wenn die Matrix in derselben Tabelle ist. Dadurch wird es besser lesbar, und man kann die $ nicht vergessen.
Kristian
Jetzt beim zweiten hingucken ich auch nicht. Was ich meinte
war SVERWEIS.
- SChreibe die Liste, die Kristian erstellt hat, irgendwo in
dein Tabellenblatt, wo es nicht stört. Etwa so:
| F |
G |
| 1 |
Platz |
| 2 |
1 |
| 3 |
2 |
| 4 |
3 |
| 5 |
4 |
| 6 |
5 |
| 7 |
6 |
| 8 |
7 |
| . |
. |
| . |
. |
| 18 |
17 |
Deine Zuordnungsliste steht also im Bereich F2:G18. Wenn der
Platz z.B. in A1 steht, musst Du in A2 statt Deiner brutalen
WENN-Formel nur noch folgendes eintragen:
=SVERWEIS(A1;$F$2:blush:G$18;2;1)
Achtung! die $ sind sehr wichtig! Dieser Befehl schaut in
Deiner Zuordnungstabelle ($F$2:blush:G$18) nach, in welcher Zeile
der Platz vorkommt und liest dann die entsprechende Punktzahl
aus.
Das Ergebnis muss in der Spalte neben dem Platz stehen.
Das geht auch mit Zwischenrechnungen, Du kannst ja hier
einfach den Verweis auf das letztendlich gültige Ergebnis
hinschreiben, z.b. =Tabelle2!B5.
Gruß, Dennis
ohne Wenn
ich möchte für die Berechnung der Punkte einer Meisterschaft
die Punkte in einer Excel Tabelle berechnen.
Für mich geht das mit einer WENN Funktion, wo ich die Punkte
für die ersten 15 Plätze vergeben wollte.
Het jemand eine Idee ?
Meine vollständige Funktion:
=WENN(B3=1;25;WENN(B3=2;20;WENN(B3=3;16;WENN(B3=4;13;WENN(B3=5;11;WENN(B3=6;10;WENN(B3=7;9;WENN(B3=8;8;WENN(B3=9;7;WENN(B3=10;6;WENN(B3=11;5;WENN(B3=12;4;WENN(B3=13;3;WENN(B3=14;2;WENN(B3=15;1;0)))))))))))))))
B3 ist der Platz, dh der Fahrer auf Platz 3 bekommt 16
Punkte…
Platz 15 nur noch 1 Punkt und 16/Rest geht leer aus.
Hi Wolfgang,
=WAHL((GANZZAHL(B3/16>=1)*16)+B3*(B3