Chi Lu Jung Geschrieben Januar 2, 2004 Geschrieben Januar 2, 2004 (bearbeitet) Beitrag wurde in Thread hier hin verschobenDamit behalten wir den Überblick und haben die Excel-Themen schön geordnet. Letzter Absatz wurde aus Gründen der Lesbarkeit nicht gelöscht:So, das war's fürs erste. Noch ein Hinweis: Ich weiß, dass das Ganze stellenweise nicht einfach zu verstehen ist. Aber Programmieren ist mehr, als ein paar Formeln zu kennen. Eine Programmiersprache ist nur Hilfsmittel zur Umsetzung von Ideen. Die Erstellung eines Konzeptes für die Umsetzung einer Idee ist wesentlich schwieriger als das Erlernen der reinen Syntax einer Programmiersprache. Einfach ausgedrückt, wenn man die deutsche Sprache beherrscht kann man sich zwar in eine Vorlesung eines 10. Semesters Philosophie setzen, verstehen und umsetzen wird man aber vom dem Gehörten nur wenig. Genauso ist es mit dem Programmieren bearbeitet Mai 5, 2004 von David Cooper
Feuerstein Geschrieben Januar 6, 2004 Geschrieben Januar 6, 2004 hallo Chi Lu Jung!deine frage reizt mich und ich möchte das problem lösen. aber ich frag mich auch ob das hier wen interessiert, da dieser (andere) thread ja besonders auch den sinn hat anfängliche hilfestellung zu geben (fortgeschrittenenthread oder privat um die übersicht zu bewahren?). dienstag geh ich dran.@all,bei figurenauswertungen mach ich es mir einfacher (weniger zeichen, excel schneller). ich verwende immer für alles ziffern. die alyettsche figur 1 finde ich mit der formel (wenn sie auf schwarz gesucht wird und schwarz in spalte "B" ist:=wenn(B3+B4+B5+B6=4;1;0)die "1" steht in der formel dafür, das wenn die formel sie ausgiebt die figur "1" entstanden ist, also 4x schwarz in spalte "B" von zeile "3" bis zeile "6".ansonsten sehe ich durch eure beispiele formeln die mir die "hilfe" nicht erklären konnte, die ich erst an euren beispielen verstehen kann. bringt mir richtig was!grüße matthias s.
Chi Lu Jung Geschrieben Januar 6, 2004 Autor Geschrieben Januar 6, 2004 (bearbeitet) Hallo matthias,du hast natürlich recht, dass ich dafür einen eigenen Thread aufmachen sollte. Gesagt - getan. daher in diesem Thread hier verschoben. Damit haben wir die Sache schön geordnet.Ich freue mich, dass du das Problem lösen willst. Bin schon auf deine Lösung gespannt!!! bearbeitet Mai 5, 2004 von David Cooper
Chi Lu Jung Geschrieben Januar 6, 2004 Autor Geschrieben Januar 6, 2004 A B C D E F G H1 Coups Dutz 1. Dutz 2. Dutz 3. Dutz 10 Cp Favo G/V2 0 0 0 0 0 0 3 3 1 1 0 0 1 4 14 2 1 1 0 2 5 9 1 2 1 0 3 6 16 2 2 2 0 4 7 31 3 2 2 1 5 8 8 2 2 3 1 6 9 13 2 2 4 1 7 10 12 2 2 5 1 8 11 12 1 3 5 1 9 12 20 2 3 6 1 10 2 13 1 1 1 0 0 1 2 -114 0 0 1 0 0 1 2 -115 14 2 1 1 0 2 216 16 2 1 2 0 3 17 25 3 1 2 1 4 18 26 3 1 2 2 5 19 28 3 1 2 3 6 20 8 1 2 2 3 7 21 11 1 3 2 3 8 22 31 3 3 2 4 9 23 10 1 4 2 4 10 1 24 18 2 0 1 0 1 1 -125 11 1 1 1 0 2 1 226 22 2 1 2 0 3 So, dann legen wir mal los. Spalte A - CoupsIn der Spalte A steht die Permanenz. Start in Zeile 2.Spalte B - DutzAls erstes wird das Dutzend ermittelt und in Spalte B eingetragen. Die Formel hierfür lautet:=WENN(ISTZAHL(A2);WENN(A2=0;0;GANZZAHL((A2 -1) / 12)+1);"")Die Abfrage "Wenn(Istzahl(A2);;"")" bewirkt, dass nur dann die Berechnung ausgeführt wird, wenn wir auch wirklich eine Zahl in A2 steht. Ansonsten wird die Zelle leer gelassen (""). Ich benutze diese Abfrage in JEDER Formel, damit verhindere ich, dass es zu Fehlern kommt, falls keine Permanenzzahl vorliegt (z.B. Division durch Null). Ist deshalb notwendig, da ja die Originalpermanenzen unterschiedliche Anzahl von Coups haben (zwischen 200 und 400).Die Bedingung "Wenn(A2=0;0;GANZZAHL((A2 -1) / 12)+1)" dient zur Ermittlung des Dutzends. Wenn Coup = 0, dann eine 0 in Zelle B2 einstellen. Die Berechnung ist auch ganz einfach, von der Permanenzzahl wird eins abgezogen und dann durch 12 geteilt. Die daraus ermittelte Dezimalzahl wird durch die Funktion "Ganzzahl" aufgerundet und dann eine 1 dazugezählt. Man könnte das Dutzend auch durch zwei WENN-Funktionen ermitteln, ist mir aber zu trivial.Spalte C - 1. DutzIn dieser Spalte wird gezählt, wie oft das 1. Dutzend von Zeile zu Zeile erscheint. =WENN(ISTZAHL(B2);WENN(B2=1;1;0))Die Formel ist ganz einfach, wenn B2=1 dann wird das erste Dutzend gezählt, also 1, ansonsten 0. diese Formel gilt nur für die erste Zeile (also B2), ab der zweiten Zeile müssen wir diese Formel etwas erweitern.=WENN(ISTZAHL(B3);WENN(F2=10;WENN(B3=1;1;0);WENN(B3=1;C2+1;C2));"")Die Bedingung "Wenn(F2=10;;)" fragt einfach ab, ob schon 10 Coups ohne Zero gezählt wurden. Hierbei bitte beachten, dass wir in Spalte C3 die Zelle F2 (also vorhergehende Zeile) abfragen!!! Die Formel für Spalte F siehe weiter unten. Wenn schon 10 Coups ermittelt wurde, dann greift die BedingungWENN(B3=1;1;0)Also hier wird wieder von vorne gezählt, da wir ja nur den Favoriten aus den letzten 10 Coups ohne Zero berücksichtigen wollen. Somit bei 1. Dutzend wieder eine 1 einstellen, ansonst Rücksetzen auf 0. WENN(B3=1;C2+1;C2)Diese Bedingung wird aktiviert, wenn wir noch keine 10 Coups gezählt haben. Wenn in B3 das erste Dutzend steht, dann werden die bisher gezählten 1. Dutzende aus der Zelle C2 um 1 erhöht. Wenn nicht, dann einfach Übertrag des Wertes aus C2. Somit steht in C3 die Anzahl der bisher ermittelten 1. Dutzende. Damit wird in der Spalte C fortlaufend die Anzahl der 1. Dutzende angezeigt bis insgesamt 10 Coups ohne Zero ausgewertet wurden. Dann wieder Start bei 0.Spalte D - 2. DutzAnalog zur Spalte C wird hier der Zähler für das 2. Dutzend berechnet.Also erste Zeile (Zelle D2):=WENN(ISTZAHL(B2);WENN(B2=2;1;0))Ab der zweiten Zeile (Zelle D3 folgende) die Formel:=WENN(ISTZAHL(B3);WENN(F2=10;WENN(B3=2;1;0);WENN(B3=2;D2+1;D2));"")Spalte E - 3. DutzAnalog zur Spalte C wird hier der Zähler für das 3. Dutzend berechnet.Also erste Zeile (Zelle E2):=WENN(ISTZAHL(B2);WENN(B2=3;1;0))Ab der zweiten Zeile (Zelle E3 folgende) die Formel:=WENN(ISTZAHL(B3);WENN(F2=10;WENN(B3=3;1;0);WENN(B3=3;E2+1;E2));"")Spalte F - 10 CpHier wird die Summe der bisher gezählten Dutzende berechnet. Dadurch schließen wir auch gleich die Zero aus, da wir ja nur das 1., 2. und 3. Dutzend zählen. Die Formel hierfür ist ganz einfach:=WENN(ISTZAHL(B2);SUMME(C2:E2);"")Also durch die Funktion "Summe(C2:E2)" werden die Zahlen aus den Zellen C2, D2 und E2 addiert. Durch die Abfrage "WENN(F2=10;..." in C3, D3 und E3 setzen wir die Zählerstände in diesen Spalten bei 10 ermittelten Dutzende wieder zurück.Spalte G - FavoJetzt kommen wir zum Punkt. In dieser Spalte wird das Satzsignal ermittelt. Auf welchen Favoriten muss ich wie oft setzen. Die Formel wird erst AB ZEILE 4 eingestellt, da wir die letzten drei Zeilen für das Satzsignal berücksichtigen müssen.=WENN(ISTZAHL(F4);WENN(F4=10;VERGLEICH(MAX(C4:E4);C4:E4;0);WENN(UND(ISTZAHL(G3);ZÄHLENWENN(G1:G3;">0")<=2);G3;""));"")Wenn wir also 10 Dutzende durch die Bedingung "Wenn(F4=10;..." gezählt haben, dann wird das Dutzend mit dem Maximum (also der Favorit) ermittelt. Durch die Funktion "Max(C4:E4)" wird aus den Zellen C4, D4 und E4 das Maximum ermittelt. Wenn wir uns mal in der Beispieltabelle die Zeile 12 anschauen, dann haben wir 3, 6 und 1 als Dutzendzähler. Hier ist das Maximum 6 für das 2. Dutzend. Somit ist der Favorit das 2. Dutzend. Durch die Funktion "Vergleich(Max(C4:E4);C4:E4;0)" ermitteln wir die Position des Maximums in den Zellen C4, D4, E4. Diese Zellen stellen für die Funktion Vergleich eine Matrix dar, wobei die erste Zelle (C4) die Position 1, die zweite Zelle (D4) die Position 2 und die dritte Zelle (E4) die Position 3 hat. In unserem Beispiel ermitteln wir also die Position der Zahl 6 in den Zellen C12, D12 und E12. Da die Zahl 6 in D12 steht erhalten wir die Position 2. Diese Zahl können wir gleich als Dutzend interpretieren, da die Reihenfolge der Dutzende mit den Position in der Matrix übereinstimmen. Somit haben wir also unseren Favoriten - das 2. Dutzend - gefunden. Aber leider nur für den ersten Satz. Wir wollen aber dreimal setzen. Hierfür wird der Falsch-Teil der Bedingung "Wenn(F4=10;;)" verwendet:Die Bedingung "Wenn(Istzahl(g3);g3;"") würde erst einmal ermöglichen, dass wir nach Ermittlung des Favoriten in der vorhergehenden Zeile wieder ein Satzsignal haben (da der Wert aus G3 in die Zelle G4 übertragen würde) und setzen könnten. Aber leider würde dann ab dem ersten Favoriten immer dieser Favorit gesetzt werden. Um dies zu vermeiden, müssen wir also nach dreimal Setzen aufhören. Dies geschieht durch die Erweiterung der Bedingung "WENN(UND(ISTZAHL(G3);ZÄHLENWENN(G1:G3;">0")<=2);G3;"")" - damit werden die Satzsignale in den letzten drei Zeilen gezählt. Wenn also in den vorhergehenden drei Zellen G1 bis G3 eine Zahl größer als 0 (somit der Dutzend Favorit von 1 bis 3) steht, dann brauche wir nicht mehr zu setzen, da wir schon dreimal gesetzt haben. Wenn aber nur einmal oder zweimal (<=2) gesetzt wurde, dann können wir noch mal setzen.Spalte H - G/VIn dieser Spalte wird der Gewinn- / Verlust für unser dreimaliges Setzen auf den Favoriten errechnet. Achtung, Formel erst ab 2. Zeile (also H3) einsetzen.=WENN(UND(ISTZAHL(A3);ISTZAHL(G2);H2<>2;H1<>2);WENN(G2=B3;2;-1);"")Wenn wir einen Favoriten in der Spalte G der vorhergehenden Zeile ermittelt haben, so setzen wir diesen. Dies wird durch die Bedingung "Istzahl(G2)" ermittelt. Gesetzt wird nicht, wenn bereits ein Gewinn eingetreten ist, also wenn in der vorhergehenden Zeile H2 bzw. zwei Zeilen vorher in H1 ein Gewinn - dargestellt durch die 2 - ausgewiesen wurde. Zur Ermittlung des Gewinnes wird einfach der Favorit aus der vorhergehenden Zeile (G2) mit dem aktuellen Dutzend (B3) verglichen. Wenn gleich, dann wird ein Gewinn von 2 Stücke eingestellt, ansonsten ein Verlust von -1.So, das war's fürs erste. Noch ein Hinweis: Ich weiß, dass das Ganze stellenweise nicht einfach zu verstehen ist. Aber Programmieren ist mehr, als ein paar Formeln zu kennen. Eine Programmiersprache ist nur Hilfsmittel zur Umsetzung von Ideen. Die Erstellung eines Konzeptes für die Umsetzung einer Idee ist wesentlich schwieriger als das Erlernen der reinen Syntax einer Programmiersprache. Einfach ausgedrückt, wenn man die deutsche Sprache beherrscht kann man sich zwar in eine Vorlesung eines 10. Semesters Philosophie setzen, verstehen und umsetzen wird man aber vom dem Gehörten nur wenig. Genauso ist es mit dem Programmieren! Bitte diesen Hinweis als Ansporn verstehen und nicht als unberechtigte Zweifel an euren Fähigkeiten und Ausdauer. PS: Danke an matthias s., der mich auf einen Fehler in der Spalte H (Bedingung H1<>2 fehlte) hingewiesen hat.
Chi Lu Jung Geschrieben Januar 6, 2004 Autor Geschrieben Januar 6, 2004 Für alle Interessierte würde ich vorschlagen, wir gehen mal einen Schritt weiter. Wer kann mir eine Lösung vorschlagen, um bei Gleichstand von zwei Dutzende nach 10 Coups nicht gleich zu setzen, sondern erst einmal weiter zu zählen, bis sich ein eindeutiger Favorit zeigt? Also in welcher Spalte muss ich welche Formel wie ändern, damit bei einem nicht eindeutigen Favoriten weitergezählt wird. Oder muss ich sogar mehrere Formeln ändern?Noch ein Tipp, am schnellsten und übersichtlichsten geht es, wenn wir eine neue Spalte mit JA/NEIN für den Fall einführen, dass es einen eindeutigen Favoriten gibt (JA) bzw. dass es keinen eindeutigen Favoriten gibt (NEIN).Ich werde in einigen Tagen eine Lösung posten.
mathias Geschrieben Januar 6, 2004 Geschrieben Januar 6, 2004 ich ich ichwir machen eine weitere Spalte, die da Heißt Satzsignalmit folgender Formulage (Vorsicht Holzhammer Programmierung !!!)=WENN(UND(H2>0;H2<4);WENN(UND(H2=1;D2-10>=E2;D2-10>=F2);"JA";WENN(UND(H2=2;E2-10>=D2;E2-10>=F2);"JA";WENN(UND(H2=3;F2-10>=D2;F2-10>=E2);"JA";"NEIN")));"NEIN")Es erscheint ein Ja, wenn es einen Favoriten gibt, der 10 größer ist als die anderen beiden. Ansonsten erscheint ein "NEIN"mfg
Chi Lu Jung Geschrieben Januar 6, 2004 Autor Geschrieben Januar 6, 2004 Hallo matthias,danke für deinen Lösungverschlag. Ich fürchte, ich habe mich nicht klar ausgedrückt. Was ich suche, ist ein eindeutiger Favorit, nicht einer, der 10 größer ist als die anderen. Z.b. siehst du in der Beispieltabelle in Zeile 23 die Zähler 4/2/4, damit ergibt sich kein eindeutiger Favorit. Wir müßten nun solange weiterzählen, bis sich ein eindeutiger Favorit zeigt (also einer der Zähler 5 erreicht) hat.Nun zu deiner Lösung. Ich vermute mal, du hast die Spalte H (G/V) mit Spalte G (Favo) verwechselt. Die Abfrage "UND(H2>0;H2<4);" kann man eleganter durch die Abfrage "Istzahl(G2)" ersetzen. Da in der Spalte G ja nur dann eine Zahl steht, wenn wir einen Favoriten gefunden haben (1 bis 3). Ansonsten noch ein Tipp: Durch die Einführung einer Spalte "Eindeutiger Favorit" haben wir die Möglichkeit, die Spalte G (Favo) einfach anzupassen. Man beachte auch, welche Auswirkungen eine Änderung in Spalte G auf die Spalten D bis F haben!
Feuerstein Geschrieben Januar 6, 2004 Geschrieben Januar 6, 2004 hallo Chi Lu Jung!vielleicht kommst du jetzt ein bisschen durcheinander wg matthias 2x, ich dachte besser ordnug halten und neuen thread [matthias s.]. ich komme grad von der arbeit und bin oberabgenervt und will heut nix mehr am rechner machen , lieber vor der glotze abstumpfen. unsere nächste gelegenheit morgen abend ab 8. hoffe verstehst es...grüße matthias s.
mathias Geschrieben Januar 7, 2004 Geschrieben Januar 7, 2004 ups ich dachte Der Favorit wäre in G schon drinnedann wäre ja wohl alles viellllllll zu einfach.Chi Lu , finde ich toll das Du das hier machstmfg Mathiasweiter weiter
Chi Lu Jung Geschrieben Januar 7, 2004 Autor Geschrieben Januar 7, 2004 Hallo matthias s.,vielleicht kommst du jetzt ein bisschen durcheinander wg matthias 2x, ich dachte besser ordnug halten und neuen thread [matthias s.]. Hmm, verstehe ich nicht ganz. In diesem Thread habe ich mich bisher nur mit mathias ohne s. unterhalten. Den neune Thread habe ich auch aufgemacht.ich komme grad von der arbeit und bin oberabgenervt und will heut nix mehr am rechner machen , lieber vor der glotze abstumpfen. unsere nächste gelegenheit morgen abend ab 8. hoffe verstehst es... Kein Problem, wenn ich dich richtig verstehe, willst du ebenfalls einen Lösungsverschlag unterbreiten. Ich freue mich darauf.Hallo mathias (ohne s.),deine Antwort war richtig, nur die Frage war falsch Es ist schon richtig, das in G der Favorit steht, für den Fall, dass wir keinen eindeutigen Favoriten suchen. Die Aufgabenstellung ist aber, nun einen eindeutigen Favoriten zu suchen, somit muss die Formel in Spalte G angepasst werden (unter anderem).
Feuerstein Geschrieben Januar 8, 2004 Geschrieben Januar 8, 2004 hallo chi lu jung!bist du doch durcheinander gekommen, das war von mir:"""hallo Chi Lu Jung!deine frage reizt mich und ich möchte das problem lösen. aber ich frag mich auch ob dashier wen interessiert, da dieser thread ja besonders auch den sinn hat anfänglichehilfestellung zu geben (fortgeschrittenenthread oder privat um die übersicht zubewahren?). dienstag geh ich dran."""na ja- heut ist mittwoch- aber ich hab eine variante. diese läuft nicht über eine extraspalte(JA/NEIN). der grund ist ein entstehender zellbezug, dann wollte ich es nicht weiter soprobieren. ich habe deine bestehenden formeln geändert mit der funktionWENN(UND(F2>9;KGRÖSSTE(C2:E2;1)<>KGRÖSSTE(C2:E2;2))F2>9 gibt die möglichkeit über 10 hinaus zählen zu können bis die zwei besten dutzendenicht mehr gleich oft erschienen sind.KGRÖSSTE (KKLEINSTE) sucht in einem angegebenen bereich (C2:E2) nach dem größten(kleinsten) wert.hinter dem bereich habe ich einmal eine ";1" und das andere mal die ";2" eingegeben. imersteren fall wird nach dem grössten "ersten" wert gesucht, im zweiten fall nach den"zweit"-grösstem wert. ich vergleiche also den grössten wert mit dem nächsten wert dergleich oder kleiner sein kann, vom grössten wert ausgehend. sind beide gleich wird diefunktion nicht ausgeführt. hier die geänderten formeln:deine formel in "C3":=WENN(ISTZAHL(B3);WENN(F2=10;WENN(B3=1;1;0);WENN(B3=1;C2+1;C2));"")geändert in:=WENN(ISTZAHL(B3);WENN(UND(F2>9;KGRÖSSTE(C2:E2;1)<>KGRÖSSTE(C2:E2;2));WENN(B3=1;1;0);WENN(B3=1;C2+1;C2));"")deine formel in "D3":=WENN(ISTZAHL(B3);WENN(F2=10;WENN(B3=2;1;0);WENN(B3=2;D2+1;D2));"")geändert in:=WENN(ISTZAHL(B3);WENN(UND(F2>9;KGRÖSSTE(C2:E2;1)<>KGRÖSSTE(C2:E2;2));WENN(B3=2;1;0);WENN(B3=2;D2+1;D2));"")deine formel in"E3":=WENN(ISTZAHL(B3);WENN(F2=10;WENN(B3=3;1;0);WENN(B3=3;E2+1;E2));"")geändert in:=WENN(ISTZAHL(B3);WENN(UND(F2>9;KGRÖSSTE(C2:E2;1)<>KGRÖSSTE(C2:E2;2));WENN(B3=3;1;0);WENN(B3=3;E2+1;E2));"")zusätzlich musste noch die formel ab "G4" abwärts gleichwertig geändert werden,es würde sonst trotzdem ein satz getätigt werden obwohl zwei dutzende gleich sind.deine formel in "G4":=WENN(ISTZAHL(F4);WENN(F4=10;VERGLEICH(MAX(C4:E4);C4:E4;0);WENN(UND(ISTZAHL(G3);ZÄHLENWENN(G1:G3;">0")<=2);G3;""));"")geändert in:=WENN(ISTZAHL(F4);WENN(UND(F4>9;KGRÖSSTE(C4:E4;1)<>KGRÖSSTE(C4:E4;2));VERGLEICH(MAX(C4:E4);C4:E4;0);WENN(UND(ISTZAHL(G3);ZÄHLENWENN(G1:G3;">0")<=2);G3;""));"")im grunde wurde jedesmal immer nur WENN(F2=10; ausgetauscht durchWENN(UND(F2>9;KGRÖSSTE(C2:E2;1)<>KGRÖSSTE(C2:E2;2));es wird also die anzahl des erscheines des erstbesten dutzends mit dem zweitbestendutzend verglichen. bei gleichheit wird das dutzend welches sich am weitesten linksbefindet als erstbestes gerechnet, da wir von rechts nach links prüfen. ist die anzahl gleichwerden die dutzende nicht null gesetzt sondern es wird so lange weitergezählt, bis einunterschied vorhanden ist. erst ab da wird auch gesetzt.jetzt bin ich natürlich gespannt Chi Lu Jung, ob ich auch wirklich das gemacht habe was dumeintest, aber ich denke schon. manchmal verlier ich mich im eifer des gefechts.einen fehler gibt es aber noch, wenn ich im ersten setzer gleich gewinne, dann setzt dasprogramm im dritten setzer doch wieder obwohl es nicht soll wie ich dich verstanden habe.änderung in "H3": ISTZAHL(G2);H2<>2);WENN(G2=B3;2;-1);"")ändern in: ISTZAHL(G2);H2<>2;H1<>2);WENN(G2=B3;2;-1);"")die möglichkeiten mit KGRÖSSTE sind nicht ohne, aber das was sie an rechenkapazitätenschluckt ist ruhinös. zu viele spalten mit dieser funktionen (ebenso zählenwenn) in einertabelle können dazu führen das euer rechner (eigentlich nur office) einfach mittendrin nichtmehr weiterrechnet und office sich aufhängt. (Strg+Alt+Entf und Excel beenden und neustarten; man muß nicht den rechner neu starten- an dem liegts nicht).lässt sich eine kostbar erarbeitete tabelle mal nicht mehr öffnen gibt es "recovery tools".die URL stell ich mal nicht hier rein weil ich mir bezüglich URL´s noch unsicher bin übereuere gepflogenheiten.ich bin auch mal gespannt auf andere lösungen!schöne grüße matthias s.
Chi Lu Jung Geschrieben Januar 8, 2004 Autor Geschrieben Januar 8, 2004 Hallo matthias s.,ich hatte es schon richtig verstanden, dass DU ebenfalls eine Lösung liefern wolltest. Mathias war halt schneller, deswegen habe ich mit ihm hier auch kommuniziert Deine Lösung gefällt mir gut, vor allem ist sie elegant! Ich habe einen ähnlichen Lösungsweg, allerdings mit KGrösste und KKleinste und damit die Formel nicht viermal in einer Zeile berechnet werden muss, eine extra Spalte eingeführt. Werde im Laufe des Tages meine Lösung vorstellen.Vielen Dank für den Hinweis auf den Fehler in Spalte H. Werde dies im Eingangsposting berichtigen. Das kommt davon, wenn man nicht alle Konstellationen testet Ich habe hier öfters im Forum gelesen, dass einige User Performance Probleme haben. Soweit ich verstanden habe, habt ihr eure Permanenzen in Excel-Tabellen stehen und rechnet damit. Da könnte das Problem liegen. Ich werde mal kurz beschreiben, wie ich meine Permanenz-Auswertungen vornehme.Ich habe meine Permanenzen alle in Text-Dateien (pro Permanenz-Tag eine .txt Datei) stehen. Also habe ich ca. 4000 einzelne .txt-Dateien auf meiner Platte liegen. Der Dateiname ist folgendermaßen aufgebaut:{tischnr}_{datum in der form jjjjmmtt} z.B. 1_20020323, also Tisch 1 vom 23.3.2002. Das Casino bekomme ich durch die Verzeichnisstruktur heraus. Das heißt, alle Hamburger Permanenzen stehen im Verzeichns ".../pmz/Hamburg". Für die Auswertung habe ich mir nun einige VBA Makros geschrieben. Damit kann ich dann einzelne Tage einladen und mit meinen Excel-Formeln testen. Das Makro ist ganz einfach. Es wird ein Dateifenster eingeblendet, dort wähle ich eine oder mehrere gewünschte Permenenzen aus und kann diese dann über ein anderes Makro in der Excel-Auswertungsdatei einzelnen durchlaufen. Das Makro liest die einzelnen Zeilen der .txt-Datei und stellt die einzelnen Coups in die entsprechende Zellen in Excel ein. Vor dem Einlesen wird im Makro die Option "Berechnen -> Automatisch" auf "Manuell" gesetzt und nach dem Einlesen wird die Berechnung durch das Makro angestoßen. Dies hat den Vorteil, dass die Berechnung nicht mit jedem Coup neu vorgenommen wird, sondern erst dann, wenn alle Coups eingelesen sind. Bringt viel in der Performance.Für Langszeittest habe ich ebenfalls ein Makro geschrieben. Dieses bietet mir die Möglichkeit, das Verzeichnis und damit das Casino auszuwählen. Dann wird ein Fenster mit einer Liste aller verfügbaren Monate aufgeblendet. Hier kann ich nun auswählen, welche Monate ich testen will - also z.B. Januar 2001 bis Dezember 2001. Danach werden alle Permanenzen der Reihe nach eingelesen und mit der Excel-Datei Tag für Tag ausgewert. Die jeweiligen Tagesergebnisse (Variablen sind hier frei wählbar z.B. Saldo, Min, Max, Kapitalbedarf) werden in ein automatisch angelegtes Monatsblatt geschrieben. Somit habe ich nach Ende des Tests für jeden getesteten Monat ein Tabellenblatt mit den vorher angegeben Werten (für jeden Tage eine Zeile) und den Monatssummen vorliegen. So nun zur Performance. Ein Jahr, also über 300 Permanenzen bzw. ca. 10.000 Coups benötigt Excel zwischen 1 und 2 Minuten. Dabei habe ich etwas kurioses festgestellt. Wenn ich IE Browserfenster minimiert habe, läuft das ganze um bis zu 50% langsamer. Sind die IE Fenster maximiert, dann gibt es keine Performanceprobleme. Ich teste mit Excel 2000 auf einen Win 98SE Rechner.Die Testzeit wird sicher durch die Anzahl bzw. Komplexität der Excel-Formeln beeinflusst. Klar läuft eine Berechnung mit vier Formel-Spalten schneller als eine Auswertung mit 30 Formel-Spalten. Die erste braucht halt 1 Minute, die zweite 2 Minuten
Chi Lu Jung Geschrieben Januar 12, 2004 Autor Geschrieben Januar 12, 2004 Hallo und Entschuldigung,vor lauter neuer Excel-Threads habe ich glatt vergessen, hier meinen Lösungsvorschlag für die eindeutige Ermittlung eines Favoriten einzustellen. Matthias S. hat ja schon eine lauffähige Lösung geliefert.Hier nun mein Vorschlag. A B C D E F G H I1 Coups Dutz 1. Dutz 2. Dutz 3. Dutz 10 Cp Favo G/V Eind2 0 0 0 0 0 0 NEIN3 3 1 1 0 0 1 JA4 14 2 1 1 0 2 NEIN5 9 1 2 1 0 3 JA6 16 2 2 2 0 4 NEIN7 31 3 2 2 1 5 NEIN8 8 2 2 3 1 6 JA9 13 2 2 4 1 7 JA10 12 2 2 5 1 8 JA11 12 1 3 5 1 9 JA12 20 2 3 6 1 10 2 JA13 1 1 1 0 0 1 2 -1 JA14 0 0 1 0 0 1 2 -1 JA15 14 2 1 1 0 2 2 NEIN16 16 2 1 2 0 3 JA17 25 3 1 2 1 4 JA18 26 3 1 2 2 5 NEIN19 28 3 1 2 3 6 JA20 8 1 2 2 3 7 JA21 11 1 3 2 3 8 NEIN22 31 3 3 2 4 9 JA23 10 1 4 2 4 10 NEIN24 18 2 4 3 4 11 NEIN25 11 1 5 3 4 12 1 JA26 22 2 0 1 0 1 1 -1 JA27 2 1 1 1 0 2 1 2 NEIN28 24 2 1 2 0 3 JASpalte I - EindUm einen eindeutigen Favoriten zu ermitteln, führen wir diese Spalte ein. Wenn in den Spalten C bis E ein Zähler größer ist als die beiden anderen, dann haben wir einen eindeutigen Favoriten. Diesen kennzeichnen wir mit der Zahl 1. Wenn nicht eindeutig, dann schreiben wir ein -1 in die Spalte:=WENN(ISTZAHL(B2);WENN(KGRÖSSTE(C2:E2;1)<>KKLEINSTE(C2:E2;2);1;-1);"")Also mit der Formel "KGrösste(C2:E2;1)" ermitteln wir erst einmal den größten Wert in den Zählerspalten. Wenn wir den zweitgrößten Wert ermitteln wollten, müssten wir schreiben "KGrösste(C2:E2;2)". Also gibt die Zahl nach dem Bereich die Stellung des n-größten Wertes an. Wir müssen nun den größten Wert mit dem zweitgrößten Wert vergleichen. Wenn beide gleich sind, dann haben wir keinen eindeutigen Favoriten, wenn sie ungleich sind, dann haben wir einen eindeutigen Wert. Den zweitgrößten Wert können wir mit "KGrösste(C2:E2;2)" oder auch mit "KKLEINSTE(C2:E2;2)". KKleinste arbeitet wie KGrösste, nur dass hier 1 den kleinsten Wert, 2 den zweitkleinsten Wert usw. angibt. Da wir drei Zahlen haben, ist der zweigrößte und zweitkleinste Wert identisch. Also sind beide Abfragen möglich.So, nun haben wir eine 1 in der Spalte stehen, wenn wir einen eindeutigen Favoriten haben. Wenn nicht, eine -1. Der Computer kann mit Zahlen schneller und "einfacher" umgehen als mit Zeichenketten wie "JA" oder "Nein". Aber für uns Menschen ist natürlich eine Zeichenkette leichter und schneller aufzunehmen und zu verstehen. Also wie machen wir nun aus 1 ein "JA" und aus -1 ein "NEIN". Ganz einfach, mit der benutzerdefinierten Zellenformatierung. Dazu die Spalte I markieren und über das Menü "Format -> Zellen" das Fenster "Zellen formatieren" aufrufen. Dort auf der Seite "Zahlen" in der Kategorie den Punkt "benutzerdefiniert" auswählen. Dann in das Feld "Typ:" folgende Zeichenkette kopieren und "OK" drücken:[Blau]"JA";[Schwarz]"NEIN"Was bewirkt nun diese Anweisung. Ein benutzerdefiniertes Format hat folgende Syntax:[Farbe]"Format für positive Zahlen";[Farbe]"Format für negative Zahlen";[Farbe]"Format für Null";[Farbe]"Format für Text"Ein gute Erklärung hierzu ist in der Excel-Hilfe unter dem Index "Format" und dann dem Punkt "Erstellen eines benutzerdefiniertes Zahlenformats" zu finden.Somit ist unser Format leicht zu verstehen. Wenn positive Zahl in Spalte I (also 1), dann wird diese durch ein blaues "JA" ersetzt. Aus einer negativen Zahl (also -1) wird ein schwarzes "NEIN".Spalte F - FavoSo, jetzt haben wir ein Kennzeichen für einen eindeutigen Favoriten. Wir müssen nun die Spalte F anpassen, da wir ja nun bei einem nicht eindeutigen Favoriten weiter zählen müssen als 10. Hier die geänderte Formel für die Spalte:=WENN(ISTZAHL(F4);WENN(UND(F4>=10;I4=1);VERGLEICH(MAX(C4:E4);C4:E4;0);WENN(UND(ISTZAHL(G3);ZÄHLENWENN(G1:G3;">0")<=2);G3;""));"")Geändert wurde hier die Bedingung "Wenn(F4=10..." in "Wenn(Und(F4>=10;I4=1)....". Warum? Nun, wir überprüfen mit I4=1, ob wir einen eindeutigen Favoriten vorliegen haben. Wenn ja, checken wir noch, ob der Zähler schon größer oder gleich als 10 ist, da wir ja den Favoriten in den letzten 10 Coups suchen wollen. Also im Grunde genommen eine einfache und schnelle Änderung. Uns kommt nun zugute, dass wir die Eindeutigkeit schon in der Spalte I ermittelt haben.Spalte C - 1. DutzAngepasst werden müssen auch die Zähler für die einzelnen Dutzende. Da wir jetzt nicht mehr bei einem Zähler gleich 10 zurücksetzen können, ändern wir die Formel in =WENN(ISTZAHL(B3);WENN(UND(F2>=10;I2=1);WENN(B3=1;1;0);WENN(B3=1;C2+1;C2));"")Auch hier die Erweiterung der Bedingung "Wenn(F2=10...." in Wenn(Und(F2>=10;I2=1..." - Begründung dürfte klar sein.Analog zur Spalte C in den Spalten D und E die Bedingung entsprechend anpassen!
Buk Geschrieben Februar 5, 2004 Geschrieben Februar 5, 2004 hallo hallo chi,ich habe eine bitte... die formeln bitte nicht mehr zitieren...man kriegt die zwar kopiert, aber den anderen kram auch (html?) und nach dem einfügen sieht das komich aus, nimmt platz wegschenk ubuk
Chi Lu Jung Geschrieben Februar 5, 2004 Autor Geschrieben Februar 5, 2004 Hallo Buk,hat nichts mit der Darstellung als "Code" zu tun. Um nur die Formel in Excel einzufügen bitte über das Menü "Einfügen -> Inhalte einfügen..." und dann "Text" auswählen. Geht auch mit dem Pop-Up-Menüpunkt "Inhalte einfügen..." (Aufruf über rechte Maustaste in der Zielzelle).
Buk Geschrieben Februar 5, 2004 Geschrieben Februar 5, 2004 aha... ich hab mit der zeit son flattern vor die augen gekriegt...schön, schon wieder was dazugelernt deine favo-tabelle hab ich nachgebastelt. muß das ganze aber noch inhaltlich nachvollziehen...grußbuk
Buk Geschrieben Februar 5, 2004 Geschrieben Februar 5, 2004 hi chi,den 2. teil konnte ich kaum bewältigen (suche von eind. favo), leiderdie veränderungen haben mir die ganze tabelle umgeschmissen. dummerweise habe ich vergessen, mir eine kopie anzulegen von der 1. tabelle... also, typische handlingunsicherheiten... bitte, noch eindeutiger die veränderungen anzeigen ("...in zelle blabla, folgende formel: ...")etwa anderes stört gewaltig. vielleicht weißt du, wie mans ändern kann: warum ist der textfluss total in die breite gezogen? normale breite reicht doch völlig... die scrollerei nervt tieeeerischja ja, ich hör schon auf zu meckernbouncing buk
Chi Lu Jung Geschrieben Februar 5, 2004 Autor Geschrieben Februar 5, 2004 Hallo Buk,die Breite des BS wird durch die Tabellen festgelegt. Kann man leider nicht ändern, wenn man seine Tabelle vollständig einstellen will.Hier mal ein Download speziell für dich mit einem Excel-Spreedsheet für die Ermittlung der eindeutigen Favoriten. Beschweren kannst du dich, aber ob ich darauf höre DK_Favoriten.zip
Buk Geschrieben Februar 5, 2004 Geschrieben Februar 5, 2004 hi chi, war auch nit bös gemeint... ist mir hinterher auch eingefallen, das mit der breite der tabellen... wie ist es, wenn man tabelle und text trennt? also einen thread für die tabellen zum looki looki machen, und dann einen link dazu für die augenfreundlichen texte - doof? wäre dann ordentlicher und übersichtlicher...thanks für den download muß mich erst einmal erholen von meiner murxereicubuk
Buk Geschrieben Februar 5, 2004 Geschrieben Februar 5, 2004 hi chi,einen hab ich noch...wie kann man eine zusätzliche saldo-spalte einbinden?grußbuk
Buk Geschrieben Februar 6, 2004 Geschrieben Februar 6, 2004 morning chi,ich habe dk favoriten.xls entpackt und bekomme in spalte h eine fehlermeldung ("zirkelbezug"). in h1 wird ein wert angezeigt; formel =45=f5. h2 ist leer. zelle h3: =WENN(UND(ISTZAHL(A3);ISTZAHL(G2);H2<>2;H1<>2);WENN(G2=B3;2;-1);"")grußbuk
Chi Lu Jung Geschrieben Februar 6, 2004 Autor Geschrieben Februar 6, 2004 Hallo Buk,bei mir steht in H1 die Formel=SUMME(H3:H1000)Diese Formel berechnet den Saldo.Also bitte ändern. Der Rest ist ok (H2 leer, H3 Formel ok).Du kannst gerne eine Saldospalte einbauen, ich habe nichts dagegen
Buk Geschrieben Februar 6, 2004 Geschrieben Februar 6, 2004 hi chi,danke für deine morgendliche erleuchtung Du kannst gerne eine Saldospalte einbauen, ich habe nichts dagegen... hab ich versucht, aber ich bin doch noch so ein frischling...normal geht das ja über die summenfunktion, doch in manchen zellen von h steht nix drinne. wie sag ich excel, dass er auch das nix zählen soll?danke für deine unterstützunggrußbuk
Chi Lu Jung Geschrieben Februar 6, 2004 Autor Geschrieben Februar 6, 2004 Hallo Buk,warum willst du nichts addieren? Na ja, versuche es mal damit:In Zelle J3 die Formel:=SUMME($H$2:$H3)und das Ganze nach unten kopieren. Somit steht also in J4 die Formel:=SUMME($H$2:$H4)etc.
Buk Geschrieben Februar 6, 2004 Geschrieben Februar 6, 2004 danke chi,... ich meinte eine fortlaufende saldierung... sowas wie =i2+h3, aber da streikt excel, weil es ja nicht nix addieren kann...grußbuk
Recommended Posts
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden