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

Forumthread: Matrix diagonal von links unten nach rechts oben

Matrix diagonal von links unten nach rechts oben
21.08.2019 18:51:57
links
Hallo Forum,
ich möchte in einer Matrix gemäß der beigefügten Beispieldatei eine Addition der Diagonalen durchführen.
Achtung: die Größer der Matrix kann sich ändern, bekannt ist aber die Anzahl der mit Zahlen gefüllten Spalten und Zeilen N_Zeilen und N_Spalten.
Da die Matrix sich ändern kann, habe ich das in der Beispieldatei mit Zufallszahlen und #NV simmuliert.
Die Aufgabenstellung ist, die Diagonalen der Matrix beginnend mit der ersten Zelle links oben nun von links unten nach rechts oben zu addieren und dann durch die Anzahl der addierten Diagonalfelder zu teilen (also im Prinzip den Mittelwert zu bilden).
In der Beispieldatei habe ich die Formeln hinterlegt.
Nun hätte ich das ganze gerne als Matrix-Formel gelöst oder als vba Funktion.
Ich habe diverse Formeln im Internet recherchiert, die aber für diese Aufgabenstellung nicht funktionieren bzw. mein Wissen reicht nicht aus...
Hoffe, ihr könnt mir helfen...
Besten Dank vorab
Bernd
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix diagonal von links unten nach rechts oben
21.08.2019 19:26:02
links
Hi
beispielsweise mit Sowas für den Mittelwert A20-B19-C18-D17
=SUMMENPRODUKT(A10:D20*((21-ZEILE(A10:D20))=SPALTE(A10:D20)))/MIN(ZEILEN(A10:D20);SPALTEN(A10:D20))
Gruß Daniel
Anzeige
AW: Matrix diagonal von links unten nach rechts oben
21.08.2019 19:41:45
links
Hallo Daniel,
die Formel funktioniert leider nur für den einen Fall Mittelwert A20-B19-C18-D17, aber ich kann sie nicht einfach in die anderen Tellen kopieren...Das löst mein Problem leider nicht.
Hoffe, du oder jemand anderes weiß hier weiteren Rat...
BG
Bernd
AW: Matrix diagonal von links unten nach rechts oben
21.08.2019 20:33:00
links
HI
die 21 in der Formel legt fest, dass in Zeile 20 begonnen wird.
willst du andere Diagonalen berechnen, musst du diesen Werte entsprechen abändern.
beim kopieren der Formel z.B. über Zeile(A21).
Bei Excel-Gut sollte das kein Problem sein.
Gruß Daniel
Anzeige
AW: Matrix diagonal von links unten nach rechts oben
21.08.2019 21:02:42
links
Hallo Daniel,
in dem Fall ist mein Excel nicht gut - mit dieser Art von Formel komme ich (noch) nicht zurecht.
Also mit dem Bezug Zeile(A21) funktionert das bis zu den ersten drei Zellen.
Dort will ich ja nur die kürzeren Diagonalen rechnen.
Sorry, aber da weiss ich jetzt auch nicht weiter...
Hoffe, du kannst dieses Problemlchen noch lösen..gibt Fleißpunkte :-)
Gruß
Bernd
Anzeige
AW: Matrix diagonal von links unten nach rechts oben
21.08.2019 21:28:19
links
mach bitte mal ein konkretes beispiel ohne zufallszahlen und beschreibe bitte genauer, was du wie berechnen willst und woraus man das ableiten kann.
Das Beispiel bitte auch mit dem von Hand berechneten Wunschergebnis.
Gruß Daniel
AW: Matrix diagonal von links unten nach rechts oben
21.08.2019 22:45:16
links
Hallo Daniel,
das mach ich, bin heute Abend zu müde - vielen Dank dennoch schon mal.
Folgende Überlegung:
Deine Formel muss man irgendwie ausstatten mit der Funktion "Bereich.Verschieben" und dann bei den ersten kurzen Diagonalen irgendwie mit einer kleineren Matrix mit Hilfe der Funktion "Bereich.Verschieben" rechnen bis die Diagnale der Matrix dann die gesamten n_Spalten geht (in meinem Beispiel 4 Spalten hat)...
Gn8
Bernd
Anzeige
AW: Matrix diagonal von links unten nach rechts oben
22.08.2019 14:24:13
links
Hi
brauchst du nicht unbedingt.
du kannst, wenn du die Diagonale nicht voll berechnen willst, auch über eine zusätzliche Bedingung einschränken.
wenn du weißt, dass du nur die ersten 3 Zellen haben willst, kannst du das auch so festlegen:
=SUMMENPRODUKT(A10:D20*((21-ZEILE(A10:D20))=SPALTE(A10:D20))*(Spalte(A10:D10)
gruß Daniel
Anzeige
eine Diagonale addieren - Einheitsmatrix
21.08.2019 19:29:08
WF
siehe unsere:
http://excelformeln.de/formeln.html?welcher=88
WF
oben hast Du Dich verhauen:
"beginnend mit der ersten Zelle links oben nun von links unten nach rechts oben"
was denn nun: von oben links oder von unten links ?
Anzeige
AW: eine Diagonale addieren - Einheitsmatrix
21.08.2019 19:45:28
Bernd
Hallo WF,
die Excelformel kenne ich und sie hilft mir nicht (da sie genau in die andere Richtung summiert)
Ich habe ganz bewusst die Beispieldatei hochgeladen mit den Formeln von Hand, wenn du auf die Zellen A40 bis A50 klickst, kannst du sehen, was ich meine. Im Text dies nur zu beschrieben, ist zu schwierig.
Würde mich freuen, wenn du dir die Beispieldatei bitte anschauen könntest und entschuldige, wenn ich mich unklar im Text ausgedrückt habe...
Bg
Bernd
Anzeige
AW: zu MEINHEIT() ...
22.08.2019 14:13:59
neopa
Hallo WF,
... in meiner Excel 2010er Version gibt es die Funktion MEINHEIT() noch nicht. Vielleicht doch erst in neueren Versionen?!?
Gruß Werner
.. , - ...
stimmt - ist ab 2013
22.08.2019 15:12:55
WF
.
AW: dyn. Summe diag. von li. unt. nach re. ob. ...
22.08.2019 14:07:48
li.
Hallo Bernd,
... in A40 folgende Formel:
=WENN(ZEILE(A1)&gtB$3;"";SUMMENPRODUKT(A$10:INDEX(A:Z;9+B$3;B$4)
*((ZEILE(A$10)+ZEILE(A1)-ZEILE(A$10:INDEX(A:A;9+B$3)))=SPALTE(A$1:INDEX($1:$1;$B$4))))
/MIN(ZEILE(A1);B$4))

und nach unten kopieren.
Gruß Werner
.. , - ...
Anzeige
AW: dyn. Summe diag. von li. unt. nach re. ob. ...
22.08.2019 19:07:53
li.
Hallo Werner,
perfekte Formel!!
wow und vielen Dank...
Bernd
AW: bitteschön owT
23.08.2019 10:29:02
neopa
Gruß Werner
.. , - ...
AW: bitteschön owT
23.08.2019 13:21:00
Bernd
Hallo Werner,
jetzt habe ich doch noch eine Frage bzw. Bitte an Dich. Könntest du die Formel so erweitern, so dass die Matrix rechts unten wie links oben nur noch über die kurzen Diagonalen berechnet wird?
Beste Grüße
Bernd
Anzeige
AW: dazu nachgefragt ...
23.08.2019 14:32:29
neopa
Hallo Bernd,
... meinst Du damit die Ermittlung aus den Datenwerten aus B20+C19+D18; C20+D19 sowie D20 bezogen auf Dein Beispiel ? Oder?
Gruß Werner
.. , - ...
AW: dazu nachgefragt ...
23.08.2019 16:05:04
Bernd
Hallo Werner,
genau das meine ich...
BG
Bernd
AW: dann, wenn es dyn. bleiben soll ...
23.08.2019 16:22:05
neopa
Hallo Bernd,
... d.h. die auszuwertende Matrix sowohl in ihrer Breite als auch Höhe sich ändern kann/soll, dann dafür z.B. nachfolgende Formel in A40:
=WENN(ZEILE(A1)&gtB$3+B$4-1;"";WENN(ZEILE(A1)&gtB$3;
SUMMENPRODUKT(INDEX(A:Z;9+ZEILE(A1)-B$4+1;1+ZEILE(A1)-B$3):INDEX(A:Z;9+B$3;B$4)*(ZEILE(A$1:INDEX(A:A;B$4-ZEILE(A1)+B$3))=(B$4+1-SPALTE(INDEX($1:$1;1+ZEILE(A1)-B$3):INDEX($1:$1;$B$4))))/(B$4-ZEILE(A1)+B$3));
SUMMENPRODUKT(A$10:INDEX(A:Z;9+B$3;B$4)*((ZEILE(A$10)+ZEILE(A1)-ZEILE(A$10:INDEX(A:A;9+B$3)))
=SPALTE(A$1:INDEX($1:$1;$B$4))))/MIN(ZEILE(A1);B$4)))

und diese weit genug nach unten kopieren.
Gruß Werner
.. , - ...
Anzeige
AW: dann, wenn es dyn. bleiben soll ...
23.08.2019 16:32:03
Bernd
Hallo Werner,
perfekt, Wahnsinn und drei mal wow wow wow - wie man solche Formeln noch durchschaut, muss ich nicht verstehen - Respekt und tausend Dank!
Ein schönes hoffentlich Excelfreies Wochenende
Bernd
AW: danke, das wünsch ich Dir auch owT
23.08.2019 16:38:05
neopa
Gruß Werner
.. , - ...
;
Anzeige
Anzeige

Infobox / Tutorial

Matrix diagonal von links unten nach rechts oben addieren


Schritt-für-Schritt-Anleitung

Um die Diagonale einer Matrix in Excel von links unten nach rechts oben zu addieren und den Mittelwert zu berechnen, kannst Du folgende Schritte befolgen:

  1. Matrix erstellen: Erstelle eine Matrix mit Zufallszahlen oder anderen Werten in Excel.
  2. Formel eingeben: In der Zelle, in der Du das Ergebnis haben möchtest, gib die folgende Formel ein:
    =SUMMENPRODUKT(A10:D20*((21-ZEILE(A10:D20))=SPALTE(A10:D20)))/MIN(ZEILEN(A10:D20);SPALTEN(A10:D20))

    Diese Formel berechnet den Mittelwert der Diagonalen, indem sie die Werte entlang der Diagonale summiert.

  3. Anpassungen vornehmen: Wenn Du die Formel für andere Diagonalen verwenden möchtest, ändere die Zahlen entsprechend, um die Zeilen und Spalten zu referenzieren, die Du addieren möchtest.
  4. Formel kopieren: Kopiere die Formel in die Zellen darunter, um die Berechnung für weitere Diagonalen durchzuführen.

Häufige Fehler und Lösungen

  • Fehler: Formel funktioniert nicht in anderen Zellen
    Lösung: Achte darauf, dass Du die Formel entsprechend anpasst, insbesondere die Zeilen- und Spaltenreferenzen.

  • Fehler: Falsche Diagonalen werden summiert
    Lösung: Überprüfe die Formel auf korrekte Bedingungen. Wenn Du nur die ersten drei Zellen summieren möchtest, kannst Du eine zusätzliche Bedingung einfügen.


Alternative Methoden

Falls Du nicht mit Formeln arbeiten möchtest, kannst Du auch VBA verwenden, um das diagonal Maß zu berechnen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Neues Modul erstellen: Klicke auf Einfügen, dann auf Modul.
  3. Code eingeben:
    Function DiagonalSum(rng As Range) As Double
       Dim total As Double
       Dim count As Integer
       Dim i As Integer
       count = rng.Columns.Count
       For i = 1 To count
           total = total + rng.Cells(count - i + 1, i).Value
       Next i
       DiagonalSum = total / count
    End Function
  4. Funktion verwenden: Verwende die Funktion in einer Zelle:
    =DiagonalSum(A1:D4)

Praktische Beispiele

Angenommen, Du hast die folgende Matrix in den Zellen A1 bis D4:

A B C D
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Um die Diagonale von links unten nach rechts oben zu berechnen, solltest Du die Zellen A4, B3, C2 und D1 addieren, was 1 + 6 + 11 + 16 ergibt. Verwende die obige Formel, um das Ergebnis in einer neuen Zelle zu erhalten.


Tipps für Profis

  • Nutze die INDEX-Funktion, um dynamische Bereiche zu erstellen. So kannst Du die Diagonale einer Matrix flexibel anpassen.
  • Experimentiere mit bedingten Formatierungen, um die Diagonale in Deiner Excel-Tabelle hervorzuheben.
  • Wenn Du oft mit Diagonalformeln arbeitest, erstelle eine benutzerdefinierte Funktion in VBA, um Zeit zu sparen.

FAQ: Häufige Fragen

1. Kann ich auch andere Diagonalen mit dieser Methode berechnen?
Ja, Du kannst die Formel anpassen, indem Du die Zeilen- und Spaltenreferenzen änderst.

2. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen sind in den meisten modernen Excel-Versionen verfügbar. Einige VBA-Funktionen könnten jedoch in älteren Versionen eingeschränkt sein.

3. Wie funktioniert die SUMMENPRODUKT-Funktion in diesem Kontext?
Die SUMMENPRODUKT-Funktion multipliziert die entsprechenden Elemente in den angegebenen Arrays und summiert das Ergebnis. In diesem Fall wird sie verwendet, um nur die Werte auf der Diagonalen einzubeziehen.

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