Seite 1 von 2

DNF Anzahl

Verfasst: Sa, 09.03.2013 13:28
von DH1806
Moin zusammen,
ich bin im Moment dabei eine kleine Tabelle für unsere F1-Liga zu programmieren.
In der Tabelle Australien wird das Rennergebnis eingetragen und die Tabelle rechnet dann automatisch die Punkte, Siege usw. zusammen und sortiert diese in eine Tabelle.
Bisher hat auch alles wunderbar geklappt, nur im moment bin ich an einer Sache dran wo ich seit ein paar Tagen schon nicht weiterkomme.

Es sollen auch die Ausfälle (DNF=Did not finish) gezählt werden. Ich habe dazu mehrere WENN-Formeln verschachtelt. Zuerst wird geguckt, ob bei der Zeit DNF steht und danach wird geguckt, ob der Fahrername dem in der Tabelle entspricht.
Ich habe es schon mit Zahlen (1,0 usw) versucht aber dann kommt immer Err:504 und da habe ich bisher auch noch nicht rausgefunden warum^^

Auf jeden Fall habe ich es nun mit Wahr und Falsch versucht, und es klappt auch, jedoch nur bei der untersten Zeile. Es wird von unten durchgegangen, aber wenn in der 2. Zeile DNF und der richtige Fahrername angegeben ist wird trotzdem FALSCH angezeigt (In der utersten Zeile funktioniert es)

Ich habe zur Veranschaulichung mal 2 Bilder eingefügt, die Formel ist auch dabei.


Vielen Dank schonmal im Vorraus

Grüße,
DH

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 18:16
von lorbass
Screenshots taugen in den seltensten Fällen bei der Problemlösung, da sie zumeist gerade die wichtigen Dinge nicht zeigen. So auch in deinem Fall. Stelle daher bitte eine Beispieldatei zur Verfügung, in der du die Aufgabe / das Problem / das Soll-Verhalten gerne mit Hinweisen und Kommentaren näher beschreiben kannst. Als angemeldeter Benutzer kannst du diese dann mit deinem nächsten Beitrag unmittelbar hier im Forum hochladen.

Dieses Verfahren hat sich in zahllosen Fällen als ausgesprochen hilfreich und effizient erwiesen, da Hilfesuchender und Helfer schnell eine gemeinsame Vorstellung der anstehenden Aufgabe entwickeln können und sich nicht jeder Helfer eine eigene Testumgebung aufwendig zusammenstellen muss.

Gruß
lorbass

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 18:18
von DH1806
So, hier, ist noch nicht alles ganz fertig^^

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 19:25
von lorbass
Na ja, mit der Datei warst du ja schnell, aber sonst… :(
lorbass hat geschrieben:[…] eine Beispieldatei […], in der du die Aufgabe / das Problem / das Soll-Verhalten gerne mit Hinweisen und Kommentaren näher beschreiben kannst.
Also frag ich mal anders.
DH1806 hat geschrieben:Es sollen auch die Ausfälle (DNF=Did not finish) gezählt werden.
Ich nehme die Formel in Gesamtstand.L75 her. Da stellen sich schon mal einige Fragen:
  • Sollte der Bereich Gesamtstand.L75:M94 nicht besser eine Zeile tiefer rutschen und im Bereich Gesamtstand.L76:M95 stehen, damit die Zeilen zum Bereich Gesamtstand.B75:J95 passen?
  • Die Formel in Gesamtstand.L75 lautet etwas aufgedröselt

    Code: Alles auswählen

    =WENN(Australien.D29="DNF";
    	WENN(Australien.B29=B75);
    	WENN(Australien.D28="DNF";
    		WENN(Australien.B28=B75)
    		)
    	)
    oder, wenn man berücksichtigt, dass wegen der weggelassenen 2. und 3. Parameter die Beziehung WENN(<bedingung>) = <bedingung> gilt

    Code: Alles auswählen

    =WENN(Australien.D29="DNF";
    	Australien.B29=B75;     ←
    	WENN(Australien.D28="DNF";
    		Australien.B28=B75;   ←
    		FALSCH
    		)
    	)
    Da ist mir einfach unklar, was das soll. Beschreibe bitte freitextlich, wie »die Ausfälle (DNF=Did not finish) gezählt werden« sollen.
  • Wieso greifst du nur auf Zellen in den Zeilen 28 und 29 des Arbeitsblattes Australien zu? Solltest du nicht variabel in den Zeilen suchen, die zur aktuellen Zeile des Arbeitsblattes Gesamtstand passt? Dazu müssen natürlich die Bedingungen klar sein, unter denen die Zeilen verschiedener Arbeitsblätter zusammen passen sollen…
Bitte denke daran: In deinem Kopf mag ja alles klar sein, aber: Wir sind hier draußen und bekommen von deinen Gedanken nix mit, es sei denn, du schreibst sie hier auf! ;)

Gruß
lorbass

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 20:29
von DH1806
Moin,
danke erstmal für deine Antwort.
Also mein Ziel ist es, dass wenn ein Spieler "DNF" als Zeit stehen hat, also einen Ausfall hat, dies in Gesamtstand.I76 als 1 darzustellen(Hier liegt das Problem). Unten werden dann alle Ausfälle (in dem Fall von delpierofan10) zusammengerechnet, in die Hilfstabelle übernommen und dann wiederum in der Endtabelle sortiert.
Wieso greifst du nur auf Zellen in den Zeilen 28 und 29 des Arbeitsblattes Australien zu? Solltest du nicht variabel in den Zeilen suchen, die zur aktuellen Zeile des Arbeitsblattes Gesamtstand passt? Dazu müssen natürlich die Bedingungen klar sein, unter denen die Zeilen verschiedener Arbeitsblätter zusammen passen sollen…
Natürlich müsste die Formel noch bis Australien.D14 erweitert werden, nur die alte Formel hat schon beim zweiten mal nicht funktioniert, deswegen habe ich sie etwas verkürzt damit sie nicht so lang ist wie meine unten ;)

Ich habe jetzt zwar eine funktionierende Formel gefunden um die DNF zu zählen:

Code: Alles auswählen

=WENN(Australien.D29="DNF";WENN(Australien.B29=B75;1;WENN(Australien.D28="DNF";WENN(Australien.B28=B75;1;WENN(Australien.D27="DNF";WENN(Australien.B27=B75;1;WENN(Australien.D26="DNF";WENN(Australien.B26=B75;1;WENN(Australien.D25="DNF";WENN(Australien.B25=B75;1;WENN(Australien.D24="DNF";WENN(Australien.B24=B75;1;WENN(Australien.D23="DNF";WENN(Australien.B23=B75;1;WENN(Australien.D22="DNF";WENN(Australien.B22=B75;1;WENN(Australien.D21="DNF";WENN(Australien.B21=B75;1;WENN(Australien.D20="DNF";WENN(Australien.B20=B75;1;WENN(Australien.D19="DNF";WENN(Australien.B19=B75;1;WENN(Australien.D18="DNF";WENN(Australien.B18=B75;1;WENN(Australien.D17="DNF";WENN(Australien.B17=B75;1;WENN(Australien.D16="DNF";WENN(Australien.B16=B75;1;WENN(Australien.D15="DNF";WENN(Australien.B15=B75;1;WENN(Australien.D14="DNF";WENN(Australien.B14=B75;1;0);0));0));0));0));0));0));0));0));0));0));0));0));0));0));0));0)
Dieser ist aber 1. sehr umständlich und 2. gibt es noch ein Problem. Meine Formel fängt von unten in der Spalte Zeit an zu gucken, ob dort DNF steht und überprüft anschließend ob in der gleichen Zeile auch der gesuchte Fahrername steht. Dann wird 1 angezeigt, sonst 0.
Es gibt aber noch einen 2. Fall, nämlich DSQ (=Disqualliziert) der auch gezählt werden muss. DSQ wird immer an letzter Stelle, also noch unter DNF eingetragen. Das heißt, wenn die Formel nun überprüft, ob in der untersten Zeile DNF steht, dort aber DSQ steht fügt sie sofort 0 ein, obwohl es sein kann dass darüber noch DNF steht. Meine Formel funktioniert also nur für DSQ.


Ich hoffe es war jetzt so verständlich, sonst einfach nochmal nachfragen.

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 21:06
von lorbass
Vergiss deine Formel. Schreib diese

Code: Alles auswählen

=SVERWEIS($B$75;$Australien.$B$14:$G$29;3;0)="DNF"
in die Zelle Gesamtstand.I76 und formatiere diese als Zahl mit dem Formatcode »0«.

Gruß
lorbass

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 21:19
von DH1806
Moin,
danke mal wieder für deine Antwort. Es gibt aber noch ein Problem, wenn der betreffende Spieler nämlich keinen Ausfall, sprich kein DNF hat wirt #NV angezeigt - und dann können in I95 nicht mehr alle DNF's zusammengerechnet werden.
Außerdem wäre es nett wenn du mir erklären könntest wie die Formel genau funktioniert - ich möchte ja auch für nächstes mal dazulernen ;)

Grüße,
DH

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 21:53
von lorbass
Dann schalte noch eine Fehlerprüfung davor:

Code: Alles auswählen

=WENN(ISTFEHLER(SVERWEIS(B75;$Australien.$B$14:$G$29;3;0));0;SVERWEIS(B75;$Australien.$B$14:$G$29;3;0)="DNF")
Ich hatte eigentlich vermutet, dass du SVERWEIS kennst, da du es an anderer Stelle auch verwendest. Wie die Funktion arbeitet, kannst du in der Programmhilfe nachlesen. Besser kann ich's auch nicht erklären.

Gruß
lorbass

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 22:53
von DH1806
Moin, ja klar kenne ich SVERWEIS, aber nicht in Verbindung mit dem ="DNF". Wird dann nur sortiert, wenn DNF in der 3. Spalte der Matrix steht?

Re: DNF Anzahl

Verfasst: Sa, 09.03.2013 23:39
von lorbass
Vielleicht solltest du die SVERWEIS-Beschreibung doch nochmal intensiv durcharbeiten. Ich habe nämlich nicht den Eindruck, dass du die Funktion verstanden hast.

Gruß
lorbass

Re: DNF Anzahl

Verfasst: So, 10.03.2013 00:19
von DH1806
Moin, doch ich habe sie sehr wohl verstanden denn sonst hätte ich ja die Tabelle oben nicht programieren können^^
Aber trotzdem danke für deine Hilfe.

Re: DNF Anzahl

Verfasst: So, 10.03.2013 09:30
von Karolus
Hallo
Ich würde abkürzen zu

Code: Alles auswählen

=NICHT(ISTFEHLER(SVERWEIS(B75;$Australien.$B$14:$G$29;3;0)))
Karolus

Re: DNF Anzahl

Verfasst: So, 10.03.2013 10:55
von paljass
Hi DH1806,
tja, so einiges ist ja aus der WM-Tabelle hängen geblieben :wink:
Moin, ja klar kenne ich SVERWEIS, aber nicht in Verbindung mit dem ="DNF". Wird dann nur sortiert, wenn DNF in der 3. Spalte der Matrix steht?
Deine Aussage lässt aber vermuten, dass du dich nicht mit SVerweis() auskennst, weil du den Begriff "sortiert" verwendest. SVerweis() ist keine Sortierfunktion, sondern eine Suchfunktion.
Allerdings ist auch nicht korrekt, deine Frage nach "="DNF" mit einem Hinweis auf die Erläuterung zu SVerweis() zu beantworten.
Die Formel von lorbass sucht in der ersten Spalte des Bereichs $Australien.$B$14:$G$29 nach dem Begriff, der in B75 steht. Wird der in Spalte 3 des Bereichs gefunden, wird mit dem schließenden ="DNF" verglichen und bei Übereinstimmung eine 1 (wahr), bei Nichtübereinstimmung einen 0 (falsch) ausgegeben
Wie du siehst wird bei der Formel von lorbass (=SVERWEIS($B$75;$Australien.$B$14:$G$29;3;0)="DNF") entweder eine 1 oder eine 0 ausgegeben. Wo also der Fehler #NV herkommen soll, ist mir monentan schleierhaft.

Gruß
paljass

Re: DNF Anzahl

Verfasst: So, 10.03.2013 12:05
von Karolus
Hallo
Wie du siehst wird bei der Formel von lorbass (=SVERWEIS($B$75;$Australien.$B$14:$G$29;3;0)="DNF") entweder eine 1 oder eine 0 ausgegeben. Wo also der Fehler #NV herkommen soll, ist mir monentan schleierhaft.
Zuerst wird die Sverweis-formel aufgelöst - falls da #NV ( == nicht verfügbar ) rauskommt wird der Fehler 'durchgereicht'
Die Formel von lorbass sucht in der ersten Spalte des Bereichs $Australien.$B$14:$G$29 nach dem Begriff, der in B75 steht. Wird der in Spalte 3 des Bereichs gefunden,
Der Inhalt aus B75 wird in der 1. Spalte gesucht, zurückgegeben wird im Erfolgsfall der Inhalt der 3.Spalte. Falls nicht - siehe oberen Satz

Karolus

Re: DNF Anzahl

Verfasst: So, 10.03.2013 12:34
von DH1806
paljass hat geschrieben:Hi DH1806,
tja, so einiges ist ja aus der WM-Tabelle hängen geblieben :wink:
hehe, ich hätte nicht gedacht dass du dich erinnerst^^ Vielen dank nochmal für die hilfe dabei ;)
paljass hat geschrieben:
Moin, ja klar kenne ich SVERWEIS, aber nicht in Verbindung mit dem ="DNF". Wird dann nur sortiert, wenn DNF in der 3. Spalte der Matrix steht?
Deine Aussage lässt aber vermuten, dass du dich nicht mit SVerweis() auskennst, weil du den Begriff "sortiert" verwendest. SVerweis() ist keine Sortierfunktion, sondern eine Suchfunktion.
Allerdings ist auch nicht korrekt, deine Frage nach "="DNF" mit einem Hinweis auf die Erläuterung zu SVerweis() zu beantworten.
Die Formel von lorbass sucht in der ersten Spalte des Bereichs $Australien.$B$14:$G$29 nach dem Begriff, der in B75 steht. Wird der in Spalte 3 des Bereichs gefunden, wird mit dem schließenden ="DNF" verglichen und bei Übereinstimmung eine 1 (wahr), bei Nichtübereinstimmung einen 0 (falsch) ausgegeben
Wie du siehst wird bei der Formel von lorbass (=SVERWEIS($B$75;$Australien.$B$14:$G$29;3;0)="DNF") entweder eine 1 oder eine 0 ausgegeben. Wo also der Fehler #NV herkommen soll, ist mir monentan schleierhaft.

Gruß
paljass
Danke für die Erläuterung ;) ... ja es war nicht richtig ausgedrückt, ich habe SVerweis bisher immer zum sortieren genutzt, deswegen habe ich dieses Wort benutzt. Was mich halt irritiert hat war das ="DNF".