Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kreuztabelle automatisch auffüllen lassen - Fehler

Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 16:35:45
Andre_BG
Hallo zusammen,

ich hab mir eine Kreuztabelle erstellt für ein kleines Turnier und möchte die um Übertragungsfehler zu vermeiden automatisch zur Hälfte ausfüllen lassen.
Userbild
Es werden nur die Daten ausgefüllt die Links des "X" stehen die rechts davon werden automatisch ermittelt.

Dazu verwende ich folgenden Formeln:
D11:
=LET(Matrix;MTRANS(BEREICH.VERSCHIEBEN(C12:C14;0;0;3-(ZEILE(D10)-ZEILE(D$10));));

WENN(Matrix="";"";$C$2-Matrix) )


E12:
=LET(Matrix;MTRANS(BEREICH.VERSCHIEBEN(D13:D15;0;0;3-(ZEILE(E11)-ZEILE(E$10));));

WENN(Matrix="";"";$C$2-Matrix) )


F13:
=LET(Matrix;MTRANS(BEREICH.VERSCHIEBEN(E14:E16;0;0;3-(ZEILE(F12)-ZEILE(F$10));));

WENN(Matrix="";"";$C$2-Matrix) )


Also im Endeffekt, ist es nur die Formel aus D11 kopiert und eingefügt

In C2 steht nur einfach eine 1 drin, eine 1 für den Fall, dass jeder nur einmal gegen jeden spielt, eine 2, falls es eine Hin- und Rückrunde gibt.

Formel funktioniert auch super und tut was sie soll, mit einem einzigen kleinen Manko in der Zelle F13 steht auch dann wenn die Zelle auf der anderen Seite des X leer ist (also E14) immer eine 1, Vermutung war das die Matrix evtl. bei 1x1 Matrix anders arbeitet als bei X*X Matrix.

Hat jemand eine Idee, wie ich das lösen könnte? Denn auf 0 abprüfen behebt zwar das Problem, aber dann bekomme ich kein richtiges Ergebnis mehr in der Formel.
Denn wenn ich den Matrix Teile markiere und F9 drücke erhalte ich egal in welcher Reihe immer {0} als Ergebnis, also rein vom Ergebnis kann ich keinen Unterschied erkennen aber vielleicht interpretiert Excel diese unterschiedlich??
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 18:32:40
daniel
das sieht komplex aus.
lad doch mal die Datei dazu hoch.
Das Bild zeigt nicht alles und für eine Zurordnung fehlen auch die Spaltenüberschriften.
Gruß Daniel
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 20:01:57
Andre_BG
Hallo Daniel,

danke für die Reaktion, wirkte auf mich gar nicht so komplex, daher dachte ich, ein Screenshot würde reichen, auch da ja das Ergebnis quasi bereits bekannt war.
Aber hier hab ich die Datei nochmal angehangen.

https://www.herber.de/bbs/user/171559.xlsx

Ich hab die Formeln der Übersichtlichkeit nochmal farblich hervorgehoben in der Zelle und die entsprechende Zelle gleichfarbig eingefärbt.

links der "X"e werden Eintragungen gemacht rechts davon soll die Formel die Arbeit machen.
Da die Kreuztabellen evtl. nicht immer 4x4 sind hab ich mich dazu entschieden sie soweit zu dynamisieren, dann sie auch für andere Varianten 7x7 oder 12x12 funktionieren würden.
Es müsste in dem Fall nur aus diesem Teil 3-(ZEILE(F12)-ZEILE(F$10)), die 3 gegen die Anzahl der Zeilen ausgetauscht werden die die neue Tabelle hat also eben z.B. 7 oder 12.
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 22:24:57
daniel
Hi
das ist schon komplex.
meine Lösung für maximalen Komfort:

wenn du einen neuen Spielplan anlegst, gehe so vor:
1. lege den Zellbereich an, mit Gruppennamen, Spielernamen und den Nummern, den Rest lässt du leer, auch keine "x" in der diagonalen.
2. schreibe jetzt diese Formel anstelle des ersten "x", also in der Beispieldatei C4:
=LET(Gruppe;$B$3;

Z;ZEILE()-ZEILE(Gruppe);
S;SPALTE()-SPALTE(Gruppe);
X;BEREICH.VERSCHIEBEN(Gruppe;-1;1);
Partner;BEREICH.VERSCHIEBEN(Gruppe;S;Z);
WENN(S=Z;"x";WENN(Z>S;"";WENN(Partner="";"---";X-Partner))))

3. passe den Bezug auf das Gruppenfeld an (also dort wo Gruppe 1 steht), der Bezug muss absolut sein und muss daher für jedes Feld neu gesetzt werden.
4. ziehe jetzt diese Formel in alle restlichen Felder (C4:F7), auch in die diagonale und in die Felder, in die du was eingeben willst.

die Formel schreibt in die Diagonale das X und in die Eingabefelder unterhalb der Diagonalen den Leerstring. Oberhalb der Diagonalen wird wie gewünscht berechnet.
bei der Eingabe überschreibst du dann einfach im unteren Feld die Formel mit den Werten.

so hast du den größten Komfort, weil du hier einfach die Formeln einmal in den ganzen Bereich ziehst.
alles andere ist aufwendig, da du aufgrund der Treppenform den eigentlichen Formelbereich nicht in einem Schritt füllen kannst.

Gruß Daniel
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 19:18:01
Eifeljoi 5
Hallo

Als Tipp:
In deiner Excelversion könnte es sehr einfach ohne Formeln funktionieren, PQ => Pivotieren

Mehr lässt sich nicht sagen da keine Beispieldatei mit Wunschergebnis vorhanden ist.
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 20:35:58
Onur
EINE einzige Formel reicht doch:
https://www.herber.de/bbs/user/171560.xlsx
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 23:12:34
daniel
Hi
also als erstes würde ich die Matrix nicht pro Zeile erstellen, sondern pro Spalte.
das löst zwar nicht das Problem, aber du kannst die Formel dann einfach nach rechts ziehen und musst sie einzeln kopieren.
dazu diese Formel in D4 und dann bis F4 ziehen.
die Formel nutzt die Spaltenüberschriften der Gruppe (1-4), damit sollte das ganze einfach an andere Stellen zu übertragen sein, ohne dass man was anpassen muss:

=LET(x;MTRANS(BEREICH.VERSCHIEBEN(D4;D3-1;1-D3;1;D3-1));WENN(x="";"";$C$2-x))

für dein Problem fällt mir auch grad keine schöne Lösung ein, es wird so ein wie du beschriebst, also vielleicht sogar ein Bug.
damit du nicht mit unterschiedlichen Formeln für die Einzelzelle arbeiten musst, kannst du aber folgenden Workaround verwenden:

lass die einzelne Zelle im Eingabebereich nicht leer, sondern trage dort die Formel ="" ein.
das ist der Leerstring und aus dem kann die Formel keine 0 machen.

Gruß Daniel
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
09.08.2024 15:47:58
Andre_BG
Vielen Dank,

manchmal sind es die kleinen Dinge auf die man nicht kommt ="" ach ja, so einfach und doch nicht sehen wollen.

Dein anderen Vorschlag probiere ich mal in Ruhe aus und teste das mal.
AW: Kreuztabelle - Problem gelöst
09.08.2024 00:37:58
daniel
Hi

Die Lösung per Formel ist ganz einfach, man muss nur an der Richtigen Stelle ansetzten:

=LET(Matrix;MTRANS(""&BEREICH.VERSCHIEBEN(..

Damit wandelst du zwar auch die Zahlen in Text, aber das macht nichts, weil du ja eine Rechenoperation verwendest, die damit umgehen kann und aus Textzahlen Zahlenwerte macht

Gruß Daniel
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 21:43:44
Andre_BG
Hallo Onur,

erstmal vielen Dank für die Antwort, funktioniert natürlich ebenso wie sie soll + dem Vorteil auch bei der betreffenden Stelle das richtige Ergebnis zu liefern. Wenn auch es nicht wirklich eine Formel ist, aber ich verstehe schon was du meinst.

Eine solche Lösung oder aber eine Variante mit reinem Bereich.Verschieben hatte ich auch schon im Kopf, meine eigentliche Hoffnung war aber, dass mir hier vielleicht einer erklären kann, warum die oben genannte Formel falsch "rechnet und zwar nur bei einer 1x1 Matrix.
Bzw. wie ich das verhindern kann, mit einer anderen Formel umschiffe, ich das Problem ja nur, aber habe es nicht wirklich gelöst, denn grundsätzlich tut auch die Mtrans Formel ja was sie soll. Nur eben in dieser einen Zelle nicht.

Ich versuche mich Zunehmens immer mehr mit den neuen Formeln auseinander zu setzten, denn die vereinfachen viele der alten Konstrukte enorm und werden über kurz oder lang die Zukunft werden. Außerdem will ich von der jungen Generation nicht abgehangen werden und auf dem Stand der Dinge bleiben.
Und Mtrans ist eher eine der etwas neueren Formeln, daher versuche ich mich wenn ich schon ein Problem habe auch mit diesen gezielt auseinander zu setzen.
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 21:52:56
Onur
Deine Formel(n) ist doch nur eine Krückenlösung für ein eigentlich kleines Problem.
Du hast dich nur verrannt und festgebissen und versucht, es mit Arrayformeln zu lösen.
Das macht aber nur Sinn, wenn du wirklich ein rechteckiges Array hättest. Dein "Array" ist aber eher dreieckig. Wenn es möglich wäre, könnte man eine einzige Arrayformel nehmen.
Also vergiss es einfach.
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
09.08.2024 15:50:25
Andre_BG
Ich kann deiner Antwort leider nicht ganz so folgen,

schließlich das doch genau das Anwendungsgebiet von Mtrans einen Bereich von der Vertikalen in der Horizontale zu transponieren. und Mein tatsächlicher Bereich ist immer Rechteckig nämlich zwischen 1 und 3 Kästchen lang. Oder liege ich falsch, dann kläre mich gerne auf. Man lernt schließlich nie aus.
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
09.08.2024 15:56:22
Onur
Man könnte eine richtige Matrix (4x4 Zellen) nehmen und deine drei Formeln in eine einzige Arrayformel packen, die ein komplettes 4x4-Array ausspuckt, wenn die Ergebnisse in einer anderen Liste wären.
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 20:06:15
Andre_BG
Ohne Formeln wäre aber nicht zielführend, da es eben dynamisch sein soll und das bieten PowerQuery Lösungen leider überhaupt nicht.

Aber nebenbei war doch das Wunschergebnis bereits benannt nämlich durch die Beschreibung des Fehlers, das nur in der letzten Zelle eine 1 stehen bleibt, die folge wäre als die 1 ist falsch und die Zelle müsste leer sein, somit ist das Ziel doch definiert und denke ich falsch.

Dennoch habe ich auf die Antwort von Daniel hin die Datei mal angehangen. Auch wenn sie keine wirklichen Highlighte offenbart, da außer den 3 genannten keine Formeln enthalten sind.
Anzeige
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 20:25:45
Eifeljoi 5
OH.... nicht zielführend da es eben dynamisch sein soll und das bieten Power Query Lösungen leider überhaupt nicht.
Na kann muss du dich aber mit Power Query super auskennen, ich bin aber ganz anderer Meinung.
Viel Spaß bei der Lösungssuche.
AW: Kreuztabelle automatisch auffüllen lassen - Fehler
08.08.2024 21:31:09
Andre_BG
Warum gleich die eingeschnappte Antwort, sollte ich einem Trugschluss erliegen, warum mich nicht einfach drauf hinweisen. Ist manchmal eine sehr unsympathische Stimmung hier....
Ich kannte bisher PowerQuery immer nur als undynamisch, da sie eben in einem "externen" Editor geöffnet werden.

Ändere ich dann in Excel Hauptansicht etwas hat sich an der Tabelle nicht mehr getan, ich bin aber auch kein PowerQuery Profi. Wenn du da mehr weiß, bin ich über Tipps natürlich dankbar.
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige