MAX, WENN die vorherige Zelle in EXCEL TRUE ist

MAX, WENN die vorherige Zelle in EXCEL TRUE ist

BEARBEITET, UM BEISPIEL EINZUSCHLIESSEN: Wie zeige ich die MAXIMALE Zahl aus einer Zeile nur an, WENN die vorherige Zelle WAHR ist?Bildbeschreibung hier eingeben

Ich möchte das letzte Datum einer besuchten Veranstaltung anzeigen. Aber nur, wenn die Person an der Veranstaltung teilgenommen hat.

Wie Sie sehen, sollte Johns letztes Eventdatum der 13.02.2019 sein, aber die Formel, die ich jetzt habe, berechnet nur den besten Tag und berücksichtigt nicht, ob die Person am Event teilgenommen hat oder nicht. Ist das möglich?

Antwort1

Wenn Sie MAXIFS haben:

=MAXIFS(B:B,A:A,TRUE)

Wenn nicht, können Sie AGGREGATE durchführen:

=AGGREGATE(14,7,$B$1:$B100/($A$1:$A$100),1)

oder diese Array-Formel:

=MAX(IF($A$1:$A$100,$B$1:$B100))

Letzteres erfordert die Verwendung von Strg-Umschalt-Eingabe anstelle der Eingabetaste beim Verlassen des Bearbeitungsmodus.

Bei den letzten beiden handelt es sich um Formeln vom Array-Typ und daher sollten die referenzierten Bereiche auf die Datensätze beschränkt sein.

Antwort2

Die kurze Antwort lautet: Machen Sie Matrizenmathematik!

Im Grunde können wir die Spalten nehmen und miteinander multiplizieren und dann das „MAX“ ermitteln. „True“ hat den Wert 1, während „False“ den Wert 0 hat. Angenommen, Ihre „true/false“-Spalte ist „A“ und Ihre Wertespalte ist „B“, dann benötigen Sie etwas wie:

=MAX(($A:$A)*($B:$B))

WICHTIG

Um die Matrizenberechnung durchzuführen, müssen Sie in Excel controlshiftenterauf Matrizenberechnung drücken. Einfach die Formel eintippen und drücken enterreicht nicht aus.

Bildbeschreibung hier eingeben

Bei dieser Methode gibt es jedoch einen Haken: Sie führt zu Problemen mit negativen Zahlen, da falsche Spalten als 0 ausgewertet werden und das Maximum daher 0 ist.

verwandte Informationen