ich suche in einer Matrix den maximalen Werte, welcher auch noch eine Bedingung erfüllt.
Anbei habe ich noch ein Beispiel gehängt!
Danke schonmal für die Hilfe!
Gruß Christian
https://www.herber.de/bbs/user/113679.xlsx
| A | B | C | |
| 4 | a | 1 | 85415 |
| 5 | a | 541 | |
| 6 | a | 45 | |
| 7 | a | 12 | |
| 8 | a | 874 | |
| 9 | a | 85415 | |
| 10 | b | 21 | 21038 |
| 11 | b | 125 | |
| 12 | b | 21 | |
| 13 | b | 251 | |
| 14 | b | 21038 | |
| 15 | b | 13 | |
| 16 | b | 83 | |
| 17 | c | 514 | 2513 |
| 18 | c | 2513 | |
| 19 | c | 8 | |
| 20 | c | 856 | |
| 21 | c | 89 | |
| 22 | c | 12 | |
| 23 | c | 85 |
| verwendete Formeln | |||
| Zelle | Formel | Bereich | N/A |
| C4:C23 | {=WENN(A3<>A4;MAX(WENN($A$4:$A$23=A4;$B$4:$B$23));"")} | $C$4 | |
| Excel-Inn.de |
| Hajo-Excel.de |
| XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007 |
| Add-In-Version 25.10 einschl. 64 Bit |
=MAX(INDEX(B:B;VERGLEICH(D12;A:A;)):INDEX(A:A;WENNFEHLER(AGGREGAT(15;6;ZEILE(A$4:A$29)
/(A$4:A$29"")/(ZEILE(A4:A29)>VERGLEICH(D12;A:A;));1)-1;VERWEIS(999;B1:B998;ZEILE(A:A)))))
Gruß WernerDatenstruktur vorbereiten: Stelle sicher, dass deine Daten in einer Matrix angeordnet sind. Zum Beispiel könnte Spalte A Buchstaben und Spalten B und C Werte enthalten.
Formel eingeben: Verwende die folgende Formel, um den maximalen Wert einer Spalte (z.B. B) zu finden, der einer Bedingung (z.B. A) entspricht. Du kannst die Formel in eine Zelle (z.B. C4) eingeben:
=MAX(WENN(A4:A23="a";B4:B23))
Diese Formel sucht den höchsten Wert in Spalte B, wenn der entsprechende Wert in Spalte A "a" ist.
Matrixformel bestätigen: Um die Formel als Matrixformel zu bestätigen, drücke Strg + Umschalt + Enter. Excel fügt automatisch geschweifte Klammern {} um die Formel hinzu.
Ergebnisse überprüfen: Überprüfe das Ergebnis in der Zelle, um sicherzustellen, dass der maximalwert mit bedingung korrekt berechnet wurde.
Fehler: #WERT!
Fehler: Falsche Ergebnisse
Fehler: Verbundene Zellen
AGGREGAT-Funktion: Du kannst auch die AGGREGAT-Funktion verwenden, um den maximalen Wert mit einer Bedingung zu finden. Die Formel sieht so aus:
=AGGREGAT(14; 6; B4:B23/(A4:A23="a"); 1)
Hier ersetzt die Zahl 14 die MAX-Funktion und die 6 sorgt dafür, dass Fehler ignoriert werden.
INDEX und VERGLEICH: Eine weitere Methode ist die Verwendung von INDEX und VERGLEICH, um den maximalen Wert zu finden:
=MAX(INDEX(B:B;VERGLEICH("a";A:A;)):INDEX(B:B;WENNFEHLER(AGGREGAT(15;6;ZEILE(A$4:A$29)/(A$4:A$29<>"")/(ZEILE(A4:A29)>VERGLEICH("a";A:A));1)-1;VERWEIS(999;B1:B998;ZEILE(A:A)))))
Angenommen, du hast folgende Daten in Excel:
| A | B |
|---|---|
| a | 10 |
| a | 20 |
| b | 30 |
| a | 15 |
| c | 5 |
Wenn du den höchsten Wert für "a" finden möchtest, würde die Formel:
=MAX(WENN(A1:A5="a";B1:B5))
als Ergebnis 20 zurückgeben.
Formel > Formeln anzeigen, um die Matrixformeln leichter zu überblicken.1. Wie kann ich den zweithöchsten Wert finden?
Du kannst die AGGREGAT-Funktion verwenden, um den zweithöchsten Wert zu finden, indem du das Argument von 14 auf 13 änderst:
=AGGREGAT(14; 6; B4:B23/(A4:A23="a"); 2)
2. Funktioniert dies in allen Excel-Versionen?
Ja, die beschriebenen Funktionen sind in Excel 2010 und neueren Versionen verfügbar. Achte darauf, dass du die Funktionen korrekt anwendest.