Hallo, ich bin nicht so gut im Excel, und habe hier eine Herausforderung, die ich selbst nicht lösen kann. Eventuell kann mir hier jemand von euch weiterhelfen, vermutlich ist es für euch nur eine kleinigkeit ;) Ich habe hier eine Excel Tabelle, in der in einem Feld folgende Formel bereits vorhanden ist (wurde nicht von mir erstellt, deswegen kenn ich mich her auch nicht aus): =WENN(D30="";"";WENNFEHLER(WENN(D30=$C30;3;WENN(LINKS($C30;1)-RECHTS($C3 0;1)=LINKS(D30;1)-RECHTS(D30;1);2;WENN(UND(LINKS($C30;1)<RECHTS($C30;1); LINKS(D30;1)<RECHTS(D30;1));1;WENN(UND(LINKS($C30;1)>RECHTS($C30;1);LINK S(D30;1)>RECHTS(D30;1));1;0))));"")) Es geht hier darum, dass abhängig vom Inhalt eines Feldes C30 im Feld D30 die Nummer 0, 1,2 oder 3 automatisch eingetragen wird. Das funktioniert auch. Nun soll diese Formel so erweitert werden, dass wenn in D30 eine 3 steht (als Ergebnis der oberen Formal) und zusätzlich in anderen Feldern (F30, H30, J30) KEINE 3 steht, in D30 statt der 3 eine 6 eingetragen werden soll. Kann mir hier jemand weiterhelfen? Danke!
Klaus W. schrieb: > Wer will das so haben? Brauchst du das so? Ja, ich will das so haben, sonst würde ich es nicht fragen :)
@dani1632 (Gast) Klaus W. schrieb: > Wer will das so haben? Brauchst du das so? Mit solchen Antworten musst Du hier rechnen.
Wenn der ganze Formelschmotz als ein Block aufgefaßt werden kann, dann vielleicht: Zelle_D30: (if (Formelschmotz=3 undzugleich (Zelleliste ungleich 3), then D30=6, else D30=Formelschmotz)
dani1632 schrieb: > Nun soll diese Formel so erweitert werden, dass wenn in D30 eine 3 steht > (als Ergebnis der oberen Formal) und zusätzlich in anderen Feldern (F30, > H30, J30) KEINE 3 steht, in D30 statt der 3 eine 6 eingetragen werden > soll. Die Formel wird im folgenden als "Wurst" bezeichnet. Nachdem es bei dieser Wurst schon wurst ist: =WENN(UND(Wurst=3;F30<>3;...);"6";Wurst)
oder so dani1632 schrieb: > wenn in D30 eine 3 steht (als Ergebnis der oberen Formal) und > zusätzlich in anderen Feldern (F30, H30, J30) KEINE 3 steht, > in D30 statt der 3 eine 6 eingetragen werden soll ich habe verstanden: wenn eines der Felder (F30, H30, J30) keine 3 enthält, soll die Formel 6 ergeben, ansonsten 3. (also ODER-Verknüpfung) diesen Abschnitt ;3; durch diesen ersetzen ;WENN(ODER(F30<>3;H30<>3;J30<>3);3;6);
Übersichtlicher wäre sicher eine zusätzliche Zeile oder in VBA eine eigene definierte Function. Das wird sonst unübersichtlich.
ich meinte Spalte, nicht Zeile, nichtbenötigte Hilfsspalten kann man auch ausblenden.
Dieter M. schrieb: > ich habe verstanden: > wenn eines der Felder (F30, H30, J30) keine 3 enthält, > soll die Formel 6 ergeben, > ansonsten 3. (also ODER-Verknüpfung) > > diesen Abschnitt > ;3; > > durch diesen ersetzen > ;WENN(ODER(F30<>3;H30<>3;J30<>3);3;6); Hallo Dieter, danke für den Vorschlag - es funktioniert nur leider nicht, weil ich es nicht eindeutig erklärt habe. Die Bedingung sollte wie folgt lauten: es soll nur dann eine 6 dort stehen, wenn in KEINEM der Felder eine 3 steht. Du schreibst oben "wenn eines der Felder keine 3 enthält..." das ist so nicht korrekt. Beispiel: es geht um das Feld A30: F30 = 3 H30 = 1 J30 = 2 In A30 würde durch die im Anfangsbeitrag erwähnt Formel eine 3 stehen. Dann soll hier die 3 bleiben, weil in mindestens einem Feld (nämlich F30) bereits eine 3 steht. Wären die Werte so: F30 = 0 H30 = 1 J30 = 2 dann sollte in A30 eine 6 stehen, weil in KEINEM Feld eine 3 ist.
=WENN(D30="";"";WENNFEHLER(WENN(D30=$C30 ;3; WENN(LINKS($C30;1)-RECHTS($C3 0;1)=LINKS(D30;1)-RECHTS(D30;1);2;WENN(UND(LINKS($C30;1)<RECHTS($C30;1); LINKS(D30;1)<RECHTS(D30;1));1;WENN(UND(LINKS($C30;1)>RECHTS($C30;1);LINK S(D30;1)>RECHTS(D30;1));1;0))));"")) > diesen Abschnitt > ;3; > > durch diesen ersetzen ;WENN(ODER(F30=3;H30=3;J30=3);3;6);
Umgangssprachlich hast Du es doch schon passend formuliert, warum baust Du den Vorschlag von Dieter nicht einfach entsprechend um?
1 | WENN(UND(F30<>3;H30<>3;J30<>3);6;3) |
bzw.
1 | WENN(ODER(F30=3;H30=3;J30=3);3;6) |
Ersteres entspricht: Wenn alle 3 Felder keine 3 enthalten, dann nimm 6, sonst 3. Zweiteres: Wenn eines der Felder 3 ist, dann 3 sonst 6 Beide Aussagen sind äquivalent, ist also egal welche Variante Du benutzt.
Leider gibt es hier noch ein Problem, ich bekomme Zirkelbezüge; z.B. ist in einer Zelle folgende Formel nun: =WENN(D30="";"";WENNFEHLER(WENN(D30=$C30;WENN(ODER(G30=3;I30=3;K30=3;M30 =3;O30=3;Q30=3;S30=3;U30=3;W30=3;Y30=3);3;6);WENN(LINKS($C30;1)-RECHTS($ C30;1)=LINKS(D30;1)-RECHTS(D30;1);2;WENN(UND(LINKS($C30;1)<RECHTS($C30;1 );LINKS(D30;1)<RECHTS(D30;1));1;WENN(UND(LINKS($C30;1)>RECHTS($C30;1);LI NKS(D30;1)>RECHTS(D30;1));1;0))));"")) in einer anderen ist: =WENN(F30="";"";WENNFEHLER(WENN(F30=$C30;WENN(ODER(K30=3;M30=3;O30=3;Q30 =3;S30=3;U30=3;W30=3;Y30=3;I30=3;E30=3);3;6);WENN(LINKS($C30;1)-RECHTS($ C30;1)=LINKS(F30;1)-RECHTS(F30;1);2;WENN(UND(LINKS($C30;1)<RECHTS($C30;1 );LINKS(F30;1)<RECHTS(F30;1));1;WENN(UND(LINKS($C30;1)>RECHTS($C30;1);LI NKS(F30;1)>RECHTS(F30;1));1;0))));"")) in einer weiteren: =WENN(H30="";"";WENNFEHLER(WENN(H30=$C30;WENN(ODER(K30=3;M30=3;O30=3;Q30 =3;S30=3;U30=3;W30=3;Y30=3;E30=3;G30=3);3;6);WENN(LINKS($C30;1)-RECHTS($ C30;1)=LINKS(H30;1)-RECHTS(H30;1);2;WENN(UND(LINKS($C30;1)<RECHTS($C30;1 );LINKS(H30;1)<RECHTS(H30;1));1;WENN(UND(LINKS($C30;1)>RECHTS($C30;1);LI NKS(H30;1)>RECHTS(H30;1));1;0))));"")) und so weiter.... Kann mir jemand sagen wo hier das Problem liegt?
Ich habe die Datei, um die es geht, angehängt; es geht hier z.B. um die Zelle 30: Es gibt hier in den Spalten E, S und Y einen Zirkelbezug; kann mir hier jemand weiterhelfen, wie kann ich das sonst lösen? Ich nehme mal an dass tritt deshalb auf, weil sich die Felder gegenseitig verweisen. Vielen Dank!!
dani1632 schrieb: > Kann mir jemand sagen wo hier das Problem liegt? Daran, das du Zirkelbezüge hergestellt hast, indem du diese Formel auf eine Zelle angewandt hast, die (direkt oder indirekt) in der Formel vorkommt. Kompliziert wird es dadurch, dass die Formel relative Bezüge enthält. Diese Bezüge ändern sich nämlich, wenn man die Formal durch Kopieren oder Ausfüllen an andere Zellen weitergibt.
Der Zirkelbezug kommt hier glaube ich dadurch zustande, dass die Zellen gegenseitig von sich anhängig sind. Das ist hier kein Kopierfehler oder so, das ist tatsächlich so gewollt. Die Zellen E30, S30 und Y30 müssten in diesem Fall alle eine 3 bekommen. E30 z.B. ist aber von S30 und Y30 abhängig, und umgekehrt auch... Hm, ich habe keine Idee... :(
Wenn R30 und X30 anders eingetragen werden, sodass die Zellen Y30 und S30 keine 3 oder 6 bekommen sollen, dann funktioniert es; dann hat nämlich nur E30 das korrekte Ergebnis und dadurch eine 6, und nicht eine 3; sobald aber mehrere das korrekte Ergebnis haben, und dadurch eine 3 haben sollten, kommt es zum Problem.
dani1632 schrieb: > Der Zirkelbezug kommt hier glaube ich dadurch zustande, dass die Zellen > gegenseitig von sich anhängig sind. Natürlich. > Das ist hier kein Kopierfehler Wenn kein Kopierfehler, dann ist es ein Design- bzw. Konzeptfehler. Das ist viel schlimmer. Da muss man nämlich das Design bzw. das Konzept ÄNDERN. Änderungen der Formel können das Problem nicht lösen!
Ja, da gebe ich Dir recht, es handelt sich um einen Designfehler. Hat denn jemand eine andere Idee, wie ich das lösen könnte? Die Excel Tabelle habe ich ja oben angehängt, da wird das Problem direkt ersichtlich. In den Punktefeldern jedes Teilnehmers werden die Punkte 0,1,2 oder 3 automatisch berechnet, je nach dem Ergebnis. Wenn nun in einer Zeile in den 11 Punktefeldern nur genau EINE 3 steht, sollte dort eine 6 stehen. Im Prinzip ist genau das die Anforderung, mehr nicht :) Kann ich hier irgendwo etwas programmieren, das erst nachdem die Formeln fertig angewendet sind, über die Felder geht und ev eine 3 gegen eine 6 korrigiert? Danke!
Dass ich für so'n Mist wie das Ballgeschubse mal helfe - unglaublich. Also: Statt das Ergebnis der Formel aus dem Top-Post in die einzelnen Zellen E30, G30, I30, etc. einzutragen, stehen die Ergebnisse in den Hilfszellen AA-AK. Die Hilfszellen AM-AW prüfen AA-AK auf 3, ist dies der Fall, so ist das Ergebnis 1, ansonsten 0. AX bildet die Summe aus AM-AW und prüft auf 1, nur bei 1 ist AX = Wahr. Bei WAHR gibt es einen einzigen Teilnehmer, der 3 Punkte tippte. In E30 z.B. wird dann geprüft, ob das zugehörige AM auf 1 gesetzt ist und AX = WAHR ist. Ist dies der Fall, wird E30 = 6, im anderen Fall wird E30 = AA. Mit Hilfszellen kann man eine Formel aufsplitten und so gestalten, wie es in einer einzigen Formel kaum möglich ist. Die Hilfszellen kann man durch "ausblenden" verstecken. Formeln:
1 | E30: =WENN(UND($AX30;AM30 = 1);6;AA30) |
2 | AA30: Die Ursprungsformel |
3 | AM30: =WENN(AA30=3;1;0) |
4 | AX30: =WENN(SUMME(AM30:AW30)=1) |
Der Rest ist Deine Fleißarbeit.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.