
Generische Formel
(=MAX(IF(range=criteria,values)))
Zusammenfassung
Um einen Maximalwert basierend auf Kriterien zu erhalten, können Sie die MAX-Funktion zusammen mit der IF-Funktion in einer Array-Formel verwenden. In dem gezeigten Beispiel lautet die Formel in Zelle G6:
(=MAX(IF(names=F6,times)))
Wobei Namen der benannte Bereich B6: B17 und Zeiten der benannte Bereich D6: D17 ist.
Hinweise: Dies ist eine Array-Formel und muss mit Strg + Umschalt + Eingabetaste eingegeben werden. Spätere Versionen von Excel verfügen über eine MAXIFS-Funktion (siehe Hinweis unten).
Erläuterung
Die IF-Funktion wird zuerst ausgewertet. Der logische Test ist ein Ausdruck, der alle Namen testet:
IF(names=F6 // logical test
Das Ergebnis ist ein Array von TRUE / FALSE-Werten wie folgt:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
TRUE-Werte entsprechen Zeilen, in denen der Name "Hannah" lautet. Für alle anderen Namen ist der Wert FALSE. Der „Wert , wenn true“ für IF ist die benannten Bereich Zeiten , die den vollen Satz von Zeiten enthalten. Es wird kein "Wert wenn falsch" angegeben:
IF(names=F6,times)
Das Endergebnis von IF ist ein Array wie das folgende:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Hinweis: Excel-Zeiten sind Bruchwerte, was die langen Dezimalstellen erklärt.
Die IF-Funktion wirkt wie ein Filter. Nur mit TRUE verknüpfte Zeitwerte durchlaufen den Filter, andere Werte werden durch FALSE ersetzt.
Die IF-Funktion liefert dieses Array direkt an die MAX-Funktion, die automatisch FALSE-Werte ignoriert und die maximale Zeit im Array zurückgibt.
Mit MAXIFS
Die in Excel O365 und Excel 2019 verfügbare MAXIFS-Funktion gibt einen Maximalwert basierend auf einem oder mehreren Kriterien zurück, ohne dass eine Array-Formel erforderlich ist. Bei MAXIFS lautet die Formel in G6:
=MAXIFS(times,names,F6)