Clever-Excel-Forum

Normale Version: Verzwicktes Problem mit der Max Funktion
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe ein Problem mit der Max Funktion. Leider ist das ganze etwas kompliziert.

Die Zählerspalte gibt an ob die Werte aus der Zahlenspalte verwendet werden sollen. Steht eine 0 da heißt dies nein. Steht eine 1 da, so heißt dies ja. Jetzt kommt der knifflige Teil. Ich möchte die Maximal größte Zahl aus der Zahlenspalte ermitteln. Allerdings nur für die Zahlen, bei denen in der Zählerspalte eine 1 steht. Und auch nur im ersten 1er Block.

Der 1er Block geht bei diesem Beispiel bei der Zahl 9 los und endet bei der Zahl 20. Aus diesem Bereich möchte ich dann den Maximalen Wert ermitteln. Dieser wäre hier 20.

Der 1er Block, der darauf folgt und von der Zahl 17 zur Zahl 30 geht soll dann ignoriert werden, da dieser durch eine Null vom ersten Block getrennt ist und so nicht mehr relevant ist. 

Ich hoffe ihr habt eine Lösung für mein Problem. Kann auch gerne etwas umfangreicher sein und über ein paar Ecken gehen. Hauptsache es funktioniert.

Vielen Dank im voraus!
Hallo,

hier ein Vorschlag mit einer Hilfsspalte - siehe angehängte Beispieldatei

Wenn in Spalte A (ab A2) die "Zähler" mit 0 und 1 stehen und in Spalte B (ab B2) die auszuwertenden Werte:

Formel in C2 (Hilfsspalte):
=VERGLEICH(0;A2:$A$22;0)-1
ermittelt die zusammenhängenden Bereiche
Damit das funktioniert, muss am Ende der "Zähler"-Spalte immer ein 0 stehen

Formrel in D2:
=WENN(UND(C2<>0;SUMME(C1)=0);MAX(BEREICH.VERSCHIEBEN(B2;0;0;C2));"")
Ermittelt mit einer Kombination aus MAX und BEREICH.VERSCHIEBEN den größten Wert des jeweiligen Blockes

Gruß
Fred
oder wenn wirklich nur der erste 1er-Block relevant ist ohne Hilfsspalte:

(wenn die auszuwertenden Daten zum Beispiel in A2:B21 stehen)

Formel:
=MAX(BEREICH.VERSCHIEBEN(B1;VERGLEICH(1;A2:A21;0);0;VERGLEICH(0;BEREICH.VERSCHIEBEN(A2;VERGLEICH(1;A2:A21;0);0;ANZAHL(A2:A21)-VERGLEICH(1;A2:A21;0));0)))
ermittelt den größten Wert des ersten 1er-Blockes.

- siehe Beispieldatei -

Gruß
Fred
So:

Array Formel

PHP-Code:
=MAX(OFFSET(A2;;;MATCH(TRUE;(A2:A20&A3:A21="10");0))*OFFSET(B2;;;MATCH(TRUE;(A2:A20&A3:A21="10");0))) 
Danke für die Hilfe!

Die Excel Tabelle funktioniert nun. Wirklich toll, dass hier in diesem Forum so fachkundige Leute sind.

Ich wünsche euch noch einen schönen Tag und möchte mich nochmals für die Hilfe bedanken.