Clever-Excel-Forum

Normale Version: automatisieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich möchte, daß mir Excel automatisch einen Wert in eine Zelle einfügt, wenn ein bestimmtes Ergebnis erzielt wurde.

Anhand der hochgeladenen Datei: Ich möchte erreichen, daß, wenn z. B. Werder Bremen zuhause gewonnen hat, in der Spalte D bei Werder Bremen automatisch das Ergebnis eingetragen wird, welches oben im Bereich C2-D10 steht, und zwar in folgender Form:

Heimsieg: 1
Heimremis: 2
Heimniederlage: 3
Auswärtssieg: 4
Auswärtsremis: 5
Auswärtsniederlage: 6

Nach dieser Form sollte dann in der Zelle D31 eine 2 erscheinen.

Wenn dann Werder Bremen ein Auswärtsspiel und ein Ergebnis erzielt hat, sollte dann in der Zelle eine Ziffer zwischen 4 und 6 erscheinen.

Hat für dieses Anliegen irgendjemand einen Vorschlag, wie man das lösen kann?
Hallo Al,

zunächst solltest Du folgendes tun:

- ändere Dein Zellformat von B14:B31 von Text auf Standard
- markiere C3:D10 und lösche deren Inhalt (auch wenn Du scheinbar nichts als Inhalt siehst!)

Nun in D14 z.B. folgende Formel:


Code:
=WENNFEHLER(VERWEIS(SVERWEIS(B14;B$2:D$10;2;0)-SVERWEIS(B14;B$2:D$10;3;0);{-99;0;1};{3;2;1});
VERWEIS(INDEX(D:D;VERGLEICH(B14;E$1:E$10;0))-INDEX(C:C;VERGLEICH(B14;E$1:E$10;0));{-99;0;1};{6;5;4}))

und diese nach unten kopieren.

Diese ergibt gemäß Deiner Vorgabe für alle nicht ausgespielten Ergebnisse eine 2 für die Heimmannschaft und eine 5 für den Gast.

Jedoch würde ich in Abweichung Deiner Vorgabe meinen, dass Deine vorgesehenen Zuordnungswerte nur für bereits vorliegende Ergebnisse ermittelt werden sollten.  Dafür würde allerdings eine  Erweiterung der bereits aufgezeigten Formel notwendig. Dann folgende Formel in D14:

PHP-Code:
=SUMMENPRODUKT(((B$2:B$10=B14)+(E$2:E$10=B14))*((C$2:C$10>0)+(D$2:D$10>0)>0))*
WENNFEHLER(VERWEIS(SVERWEIS(B14;B$2:D$10;2;0)-SVERWEIS(B14;B$2:D$10;3;0);{-99;0;1};{3;2;1});
VERWEIS(INDEX(D:D;VERGLEICH(B14;E$1:E$10;0))-INDEX(C:C;VERGLEICH(B14;E$1:E$10;0));{-99;0;1};{6;5;4})) 

und diese nach unten kopieren.
Hallo, Werner!

Recht vielen Dank für deine (für mich äußerst komplizierte) Formel, die wunderbar hinhaut! Ich habe sie eingefügt und alles geht genau so, wie ich es wollte. Ich habe sie auch gleich auf die anderen 33 Tabellenblätter kopiert.

Jedoch, ich habe nicht alles getan, was du mir vorschlägst.
Ich habe nicht die Zellen C3:D10 gelöscht, denn da stehen ja die Bezugswerte aus der Haupteingabetabelle (die nicht zum download dabei war) per Formel drin. Ziel ist es bei Excel ja immer, möglichst viel zu automatisieren. Darum gebe ich auch nur einmal die Ergebnisse ein, die dann auf den entsprechenden Tabellenblättern verarbeitet werden.

Nochmals: VIELEN DANK! Das war super!

Schön' Tag noch!

Al

P.S.: Wenn du Interesse an meinem Gesamtwerk hast, antworte mir und ich schicke dir was...per PM oder so
Lieber Werner!

Ich habe dir hier ein Tabellenblatt hochgeladen, an dem du ersehen kannst, wie es jetzt aussieht, nachdem ich die Formel von dir eingepflegt habe...

Auch habe ich noch einen SVERWEIS eingefügt, damit auch irgendwo die Umsetzung der Zahlen 1-6 eingefügt werden kann; dieser ist allerdings nicht auf diesem Blatt.

Ich bin äußerst zufrieden, wie's jetzt aussieht. Aber, wenn du möchtest, baust du die Formel so um, wie du es meinst und lädst sie dann wieder hoch. Ein Hinweis noch: D14-D31 und F14-F31 sind mit weißer Schrift!

Und ein "Danke" habe ich - natürlich - auch verteilt....logisch! Das ist ja auch mehr als verdient!
Hallo Al,

wie Du siehst, ergeben die Formeln für die Mannschaften, für die noch kein Spielergebnis vorliegen, zwei verschieden Fehlermeldungen.

Ich weiß zwar nicht, ob und wie Du diese Ergebnisswerte weiter mit Excelauswertest, aber ich vermeide derartige Fehlermeldungen, weil sie nicht nur unschön anzusehen sind (vor allem dann, wenn sie sichtbar sind), sondern auch eine weitere Auswertung evtl. verfälschen können bzw. eine solche etwas anders vorgenommen werden muss.

Derartige Fehlerergebniswerte kannst Du hier einfach z.B. wie folgt vermeiden:

=WENNFEHLER([bisherige Formel];"")
DANKE SEHR für die Ergänzung!

Die habe ich auch gleich eingefügt. Läuft...nicht.

Die Formel habe ich nochmal durchgesehen und ich meine, 2 Kleinigkeiten - die wohl wichtig sind - gefunden zu haben und dann geändert habe. Sie ist jetzt auf folgendem Stand:

WENNFEHLER(SUMMENPRODUKT(((B$2:B$10=B14)+(E$2:E$10=B14))*((C$2:C$10>0)+(D$2:D$10>0)>0))*WENNFEHLER(VERWEIS(SVERWEIS(B14;B$2:D$10;2;0)-SVERWEIS(B14;B$2:D$10;3;0);{-99;0;1};{3;2;1});VERWEIS(INDEX(D$2:D$10;VERGLEICH(B14;E$2:E$10;0))-INDEX(C$2:C$10;VERGLEICH(B14;E$2:E$10;0));{-99;0;1};{6;5;4}));"")

Was dick und unterstrichen ist, habe ich verändert. Bis auf die Sache mit dem 0:0 ist jetzt alles in Butter. Da wird das Gladbach gegen Schalke-Ergebnis mit jeweils einer "0" angezeigt. Merkwürdig.

Siehst du, wo der Fehler ist?
Hallo Al,

... ach ja, die für viele öfters "langweiligen" 0:0 Endergebnisse hatte ich nicht korrekt berücksichtigt, sorry.

Richtig wäre in F14 deshalb folgende Formel:


PHP-Code:
=WENNFEHLER(SUMMENPRODUKT(((B$2:B$10=B14)+(E$2:E$10=B14))*((C$2:C$10<>"")+(D$2:D$10<>"")>0))*
WENNFEHLER(VERWEIS(SVERWEIS(B14;B$2:D$10;2;0)-SVERWEIS(B14;B$2:D$10;3;0);{-99;0;1};{3;2;1});
VERWEIS(INDEX(D:D;VERGLEICH(B14;E$1:E$10;0))-INDEX(C:C;VERGLEICH(B14;E$1:E$10;0));{-99;0;1};{6;5;4}));""

Sicherlich erkennst Du den kleinen aber entscheidenden Unterschied zwischen dieser und der vorherigen Formel sofort.
Jetzt wird anstelle zweimal anstelle >0 nun mit <>"" abgeprüft und dadurch auch 0:0 Ergebnisse als unentschieden gewertet.
Einen schönen Abend Dir dann noch.
Hallo, Werner!

Vielen Dank für die Formeländerung. Sie sind tatsächlich an den Stellen gewesen, die ich mir insgeheim schon gedacht habe...mich aber nicht getraut habe zu ändern, weil die Formel insgesamt seeeeehr komplex (kompliziert) ist.
Aber, jetzt ist wirklich alles in Butter, läuft wie geschmiert. Ich habe sie auch auf die anderen 33 Tabellenblätter kopiert, damit ich die ganze Saison abdecken kann. Endlich...

Ein "Danke" hast du natürlich auch bekommen...verdientermaßen.

Schön' Tag noch, ciao!

Al