Matrizen kombinieren und in eine Zelle legen

Parantatatam

mag Cookies & Kekse
Hallo Tutorianer,

ich grübel schon eine ganze Weile darüber, ob es möglich ist zwei Matrizen mit gleicher Anzahl an Zeilen und nur einer Spalte so zu kombinieren, dass jeweils eine die erste Spalte darstellt und eine die zweite. Außerdem würde ich diese gerne in einer Zelle ablegen (also in einer Zelle diese Formel verwenden), damit ich dann auf diese Zelle eine Formel, wie folgt, anwenden kann:
Code:
=SUMMEWENN(MATRIX_SPALTE1;1;MATRIX_SPALTE2)
Alternativ könnte man das auch in zwei Zellen aufteilen.

Warum brauche ich das?
Ich habe eine Tabelle, in welcher Personalkosten stehen, welche jeweils aufgeteilt werden pro Person und Monat. Das dauert allerdings mit zunehmender Größe immer länger (zwölf Formeln pro Person!), weshalb ich gerne in einem ersten Schritt erstmal alle Werte einer Person abfragen würde, in einem zweiten Schritt von dieser Untermenge nur noch die des entsprechenden Monats. Somit würde er die ganze Tabelle nur noch einmal pro Person durchsuchen und würde enorm an Leistung gewinnen.

Falls jemand weiß, wie man das lösen kann, oder eine undokumentiere Funktion in Excel kennt oder was es nicht anderes Tolles gibt, der sei hiermit angesprochen mir zu helfen. Danke.
 
Ich kürze es jetzt mal auf das Wichtigste ab.

Tabelle in der die einzelnen Werte stehen
Code:
 Person | Monat | Geld
--------+-------+-------
 Hans   |     1 | 100 €
 Hans   |     1 |  50 €
 Hans   |    11 |  20 €
 Peter  |     3 |  25 €
 Peter  |    12 |  30 €
 Dieter |     4 | 200 €
 Dieter |     5 |  90 €
 Dieter |     9 |  70 €

Tabelle mit zusammengefassten Daten
Code:
 Person | Jan   | Feb   | Mrz   | ... | Okt   | Nov   | Dez   | Summe
--------+-------+-------+-------+-----+-------+-------+-------+-------
 Hans   | 150 € |       |       |     |       |       |       | 170 €
 Peter  |       |       |  25 € |     |       |       |  30 € |  55 €
 Dieter |       |       |       |     |       |       |       | 360 €
--------+-------+-------+-------+-----+-------+-------+-------+-------
                                                                585 €
                                                               =======

Und in der zweiten Tabelle steht eben in jeder Zelle eine Matrix nach folgendem Muster:
Code:
{=SUMME(WENN((Tabelle1!$A$1:$A$100=$A9)*(Tabelle1!$B$1:$B$100=1);Tabelle1!$O$1:$O$100))}
 
Schwierig, schwierig.

Welche Excel Version hast du? Ab 2007 gibt es anscheinend eine SUMMEWENNS Funktion die auch 2 Parameter verarbeiten kann.
 
Leider nur Excel 2002 SP3. Ich könnte es letztendlich auch mit Visual Basic lösen, allerdings finde ich, dass das doch dann eher dem Beschuss einer Taube gleicht.
 
So nach langem probieren habe ich vielleicht eine Lösung gefunden.

Meine Testdatei hat im Moment 20.000 Einträge, bestehend aus Namen, Monat und dem Betrag. Wenn in den Spalten 1, 2, oder 3 etwas geändert wird, wird ein Makro aufgerufen das einen Autofilter auf den Namen und den Monat setzt der gerade eingegeben/bearbeitet wurde.

Die so verbliebenen Werte werden addiert und in Tabelle2 eingetragen. So wie die ersten Tests aussehen, ist es bis jetzt zumindest auch recht schnell in der Berechnung.

Schau es dir einfach an.
 

Anhänge

  • Berechnung.zip
    187,3 KB · Aufrufe: 28
Grüezi zusammen

Das ist eine klassische Aufgabe für eine Pivot-Tabelle.
Anstelle des Monats könnte/sollte ein Datum eingetragen werden, dann kann in der PT sehr einfach nach Monaten gruppiert werden.

Einfacher und flexibler geht es nicht mehr :)
 

Anhänge

  • tr_Pivot_Matrizen.zip
    9,2 KB · Aufrufe: 26
Ich danke euch beiden für die schönen Lösungen. Letztendlich habe ich mich doch für die Pivottabelle entschieden, welche meines Erachtens nach die Lösung aller Lösungen für dieses Problem darstellt. Und so habe ich auch noch etwas dazugelernt.
 
Zurück