Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilenposition von Max Wert mit zwei Bedingungen

Betrifft: Zeilenposition von Max Wert mit zwei Bedingungen von: 991
Geschrieben am: 21.10.2014 15:13:57

Hallo liebe Excel Cracks,

ich habe eine Tabelle mit den Spalten A, B, C.
Ich möchte die Zeilennummer des Maximalwerts aus Spalte C herausfinden, der in Spalte 1 die Bedingung 1 (in Feld G1) und in Spalte 2 die Bedingung 2 (in Feld G2) erfüllt.

Die Berechnung des Maximalwerts mache ich über:

{= MAX(WENN((A1:A10=G1)*(B1:B10=G2);C1:C10)}

Nun wollte ich mit ZEILE() die Position dieses Maximalwerts ermitteln.
Das funktioniert aber nicht, und ich weiss leider nicht mehr weiter.

Ich freue mich über jede Hilfe!

LG, Peter

  

Betrifft: AW: Zeilenposition von Max Wert mit zwei Bedingungen von: Hajo_Zi
Geschrieben am: 21.10.2014 15:18:12

Hallo Peter,


Tabelle1

 D
16
2 

verwendete Formeln
Zelle Formel Bereich N/A
D1{=MAX(WENN((A1:A12=G1)+(B1:B12=G2);C1:C12))}$D$1 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.17 einschl. 64 Bit



GrußformelHomepage


  

Betrifft: AW: Zeilenposition von Max Wert mit zwei Bedingungen von: 991
Geschrieben am: 21.10.2014 15:32:07

Hallo Hajo,

leider funktioniert dies nicht. Ich verstehe deinen Lösungsansatz auch nicht ganz.
Ich möchte als Ergebnis die Zeilennummer erhalten, in dem sich der maximale Wert befindet.

Vielleicht hätte ich dsagen sollen, dass ich in Spalte C ein Datum habe.
Wenn Bedingung 1 oder Bedingung 2 nicht erfüllt werden, dann sollte am besten eine 0 zurückgegeben werden.


  

Betrifft: AW: Zeilenposition von Max Wert mit zwei Bedingungen von: Hajo_Zi
Geschrieben am: 21.10.2014 16:43:20

Du wolltest die Lösung selber an Deine Bedingungen anpassen. Darum hast Du keine Tabelle gepostet. Also mache es auch.
für Zeile.

Tabelle1

 D
16
2 

verwendete Formeln
Zelle Formel Bereich N/A
D1{=VERGLEICH(MAX(WENN((A1:A12=G1)+(B1:B12=G2);C1:C12));C1:C12;0)}$D$1 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.19 einschl. 64 Bit



Gruß Hajo


  

Betrifft: AW: Zeilenposition von Max Wert mit zwei Bedingungen von: {Boris}
Geschrieben am: 21.10.2014 18:08:24

Hi Hajo,

Du wolltest die Lösung selber an Deine Bedingungen anpassen. Darum hast Du keine Tabelle gepostet. Also mache es auch.

Besser als Peter kann man keine Frage formulieren - selbst der Betreff ist perfekt gewählt.
Einzig Deine erste Antwort war vollkommen am Thema vorbei - hatte mit der Frage aber mal überhaupt nix zu tun. Dass Peter da etwas irritiert und hilflos nachfragt, ist total verständlich, Deine trotzige Antwort aber keinesfalls.

Und warum Du auch in dieser Lösung immer noch die Bedingungen addierst, weißt nur Du allein.

@ Peter: Mach aus dem + ein * - dann dürfte Hajos Lösung korrekt sein.

VG, Boris


  

Betrifft: selbst dann wäre die Formel noch nicht korrekt ... von: neopa C (paneo)
Geschrieben am: 21.10.2014 20:05:41

Hallo Boris,

... wie ich unten stehend nachweise. Meinen Ansatz von heute Nachmittag hat Peter aber vielleicht noch nicht getestet, weil er schon so irritiert war.

In seiner späteren Antwort an Hajo brachte er aber dann noch folgende zusätzliche Bedingung: "Wenn Bedingung 1 oder Bedingung 2 nicht erfüllt werden, dann sollte am besten eine 0 zurückgegeben werden." ins Spiel. Die ich jetzt einfach vor meinen Formelansatz (vielleicht nicht besonders optimale, aber ich hab ihn jetzt einfach so belassen) eingebaut habe.

 ABCDEFG
1    5 a
2bx11 7 x
3ax5    
4ay7    
5bx9    
6by4    
7ax9    
8bx8    
9bx9    
10bc10    
11       

Formeln der Tabelle
ZelleFormel
E1{=VERGLEICH(MAX(WENN((A1:A12=G1)*(B1:B12=G2); C1:C12)); C1:C12;0)}
E2{=WENN(SUMME((A1:A99=G1)*(B1:B99=G2))>1;MIN(WENN((A1:A99=G1)*(B1:B99=G2)*C1:C99=MAX(WENN((A1:A99=G1)*(B1:B99=G2); C1:C99)); ZEILE(1:99))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Gruß Werner
.. , - ...


  

Betrifft: Vollkommen korrekt... von: {Boris}
Geschrieben am: 21.10.2014 20:15:19

Hi Werner,

...was Du da anmerkst.
Mir ging es aber im Wesentlichen um diesen kindisch trotzigen Ton, den Hajo immer wieder an den Tag legt und damit in meinen Augen den ein oder anderen Frager (bestenfalls) gehörig verunsichert.
Und in diesem konkreten Fall hat Peter - wie ich finde - eine absolut mustergültige Frage gestellt.

VG, Boris


  

Betrifft: aber auch diese muss nachgebessert werden ... von: neopa C (paneo)
Geschrieben am: 22.10.2014 07:24:38

Hallo Peter,

... ich war gestern in Eile (was man nicht sein sollte, aber ich nun heute leider auch schon wieder bin :-( ) und hab in der Formel die letzte 0 vergessen und dafür vorn falsch eine 1 anstelle einer 0 geschrieben. Und anstelle ZEILE(1:99) ist es auch günstiger wie nachfolgend zu schreiben:

 ABCDEFG
1    5 a
2bx11 7 x
3ax5    
4ax7    
5bx9    
6by4    
7ax9    
8bx8    
9ax9    
10bc10    
11       

Formeln der Tabelle
ZelleFormel
E1{=VERGLEICH(MAX(WENN((A1:A12=G1)*(B1:B12=G2); C1:C12)); C1:C12;0)}
E2{=WENN(SUMME((A1:A99=G1)*(B1:B99=G2))>0;MIN(WENN((A1:A99=G1)*(B1:B99=G2)*C1:C99=MAX(WENN((A1:A99=G1)*(B1:B99=G2); C1:C99)); ZEILE(A1:A99))); 0)}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Gruß Werner
.. , - ...


  

Betrifft: AW: selbst dann wäre die Formel noch nicht korrekt ... von: 991
Geschrieben am: 22.10.2014 08:43:34

Hallo Werner,

vielen Dank! Habe deine Formel noch leicht angepass, jetzt funktioniert sie perfekt:

{=WENN(SUMME((A1:A99=G1)*(B1:B99=G2))>0;MIN(WENN((A1:A99=G1)*(B1:B99=G2) *C1:C99=MAX(WENN((A1:A99=G1)*(B1:B99=G2); C1:C99)); ZEILE(1:99)));0) }

Danke auch an Boris und Hajo für ihre Lösungsversuche!


  

Betrifft: möglicherweise ... von: neopa C (paneo)
Geschrieben am: 22.10.2014 19:00:33

Hallo Peter,

... hattest Du meinen Hinweis von heute früh: "... Und anstelle ZEILE(1:99) ist es auch günstiger ..." überlesen, sonnst wäre Deine Formelanpassung mit meiner aufgezeigten identisch.

Auch wenn dies auf das Ergebniswert keinerlei Einfluss hat, ist es besser anstelle ZEILE(1:99) diesen Formelteil so: ZEILE(A1:A99) zu schreiben. Bei sehr vielen derartigen Matrixformeln in der Arbeitsmappe wird Dir dies dann mit einer besseren Reaktionsgeschwindigkeit in der Tabellenarbeit gedankt werden.


Gruß Werner
.. , - ...


  

Betrifft: die Zeilennummer dafür z.B. mit MIN() ... von: neopa C (paneo)
Geschrieben am: 21.10.2014 15:27:50

Hallo Peter,

... so: {=MIN(WENN((A1:A99=G1)*(B1:B99=G2)*C1:C99=MAX(WENN((A1:A99=G1)*(B1:B99=G2);C1:C99));ZEILE(1:99)))}


Gruß Werner
.. , - ...


 

Beiträge aus den Excel-Beispielen zum Thema "Zeilenposition von Max Wert mit zwei Bedingungen"