Hallo Dosch,
Zitat:Die Funktion Monat ist nicht nötig wenn ich auf die Hilfsspalte A zurückgreife denke ich.
Das ist richtig. Allerdings Deine Formelanpassung war noch nicht korrekt. Richtig muss diese z.B. so aussehen:
Code:
=WENNFEHLER(INDEX('GJ 2017-2018'!E:E;AGGREGAT(15;6;ZEILE('GJ 2017-2018'!E$24:E$5000)
/('GJ 2017-2018'!A$24:A$5000='GJ 2017-2018'!A$4)/('GJ 2017-2018'!C$24:C$5000='GJ 2017-2018'!C$4);ZEILE(B1)));"")
Anstelle darin :
... ZEILE('GJ 2017-2018'!E$24:E$5000) ... hätte ich z.B. auch: ZEILE('GJ 2017-2018'!B$24:B$5000) schreiben können. Entscheidend ist lediglich, dass die Matrix aus Zeilennummern gebildet wird. Möglich wäre auch darin den Bezug auf das andere Tabellenblatt wegzulassen (wenn im Ergebnistabellenblatt keine Zeilen gelöscht oder eingefügt werden).
Zu:
Zitat:Die Funktion Zeile B1 soll prüfen ob die vorherige Zeile leer ist, seh ich das richtig?
Nein. ZEILE(B1) ergibt als Teilergebnis eine 1 und nach unten kopiert ZEILE(B2) also eine 2, dann 3 ... und ist somit ein Zähler, der der Listenergebnisermittlung dient.
Zu:
Zitat:Und wieso trennst du die Beziehungen mit Bruchstrichen (/) und nicht mit ; ?
Die "/" in der Formel sind hier der mathematische Operator (geteilt durch) und als solche für die Auswertung der Matrix hier zwingend notwendig. Da die Formel sehr lang ist, hab ich zur besseren Lesbarkeit lediglich einen Zeilenumbruch genau an dieser Stelle vorgenommen. Das "/" hätte ich auch auf die Folgezeile nehmen können, wie in der obigen heutigen Formel oder den Umbruch an ein ganz anderen Stelle vornehmen können.
Die Funktionsweise der Formel ist für einen wenig erfahrenen Excelnutzer natürlich nicht leicht zu verstehen aber noch schwerer (aufwändiger) zu vermitteln. Allgemeine Grundlagen für das Verständnis einer derartigen Formel findest Du z.B. hier:
http://www.online-excel.de/excel/singsel.php?f=26 und ff (also keine Angelegenheit von wenigen Stunden).
Im Unterschied zu den dortigen Erklärungen kommt die aufgezeigte AGGREGAT()-Formel ohne den spez. Matrixformelabschluss aus, "arbeitet" aber intern prinzipiell ähnlich. Dies allerdings zusätzlich unter Nutzung der spez. AGGREGAT()-Funktionalität in der Formel intern erzeugte Fehlerwerte (Division durch 0, bei Nichterfüllung von den Teilbedingungsgleichungen) zu ignorieren sondern gerade durch dessen Nutzung zum gewünschten Ergebnis zu gelangen (einfach wenn man es einmal richtig begriffen hat).