Maximum dynamisch finden
#1
Hallo,

ich habe ein Tabellenblatt, bei dem ich das Maximum finden möchte - Datei dazu habe ich angehängt.... (und nein, es ist glaub ich nicht so trivial wie es zunächst klingt)

In dem Tabellenblatt hab ich immer in Spalte A Werte aus dem Bereich von 1-ca.50, dann Werte von 100 bis ca 160 (kann aber von 130 bis 190 alles sein) und dann Buchstabenwerte.
(Es sind verschiedene Vermessungspunkte)

Was ich suche ist der Maximalwert aus Spalte L (Verschiebung dx) von den Werten die im Bereich von 100 bis 199 gemessen wurden.

Versucht habe ich (A1:200 ist der Bereich der Spalte A):

=MAX(SVERWEIS(ODER(WENN(A1:A200<200;A1:A200;"NixDa");WENN(A1:A200>99;A1:A200;"NixDa"));A1:P200;12;FALSCH))
--> Geht nicht

=ODER(WENN(A1:A200<199;A1:A200;"NixDa");WENN(A1:A200>100;A1:A200;"NixDa"))


Jeweils auch mit Strg+Umschalt+Enter --> Für diese geschweiften Klammern, auch wenn ich nicht verstehe was Excel dann macht...



Plan B war jetzt schon (wie in der angehängten Tabelle dargestellt) dass ich in "Hilfszellen" die Werte 100-199 untereinander eintrage, mit einem SVERWEIS die Verschiebung dx auslese, und dann davon den Maximalwert nehme - das funktioniert aber leider auch nicht.


Wäre sehr fein wenn mir da jemand einen Tipp geben könnte.
Über ein Makro lässt sich das ganze zur Not auch programmieren, aber mit Arrays kenne ich mich nicht so wirklich gut aus (und so eines bräuchte ich ja da dann....)

Grüße
 Daniel

Smilies ausgeschaltet zur besseren Darstellung der Formel!
Ralf
[Bild: smilie.php?smile_ID=1810]


Angehängte Dateien
.xlsx   Frage Maxfinden.xlsx (Größe: 13,89 KB / Downloads: 4)
Top
#2
Hallo Daniel, möglicherweise hilft das hier... ... wenn ich das richtig verstanden habe..:

oder als Matrixformel ..:

=MAX(WENN((A5:A20>=100)*(A5:A20<=200);L5:L20))

Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.


Arbeitsblatt mit dem Namen 'Tabelle1'
A
218
228

ZelleFormel
A21=MAX(INDEX(L1:L20;VERGLEICH(100;A1:A20;1)):INDEX(L1:L20;VERGLEICH(199;A1:A20;1)))
A22=INDEX(L1:L20;VERGLEICH(199;A1:A20;1))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
[-] Folgende(r) 1 Nutzer sagt Danke an Jockel für diesen Beitrag:
  • Daniel.Haering
Top
#3
Servus,

erst mal supervielen Dank für die schnelle Antwort, damit hätte ich nicht gerechnet - mein Plan war schon, Feierabend zu machen und bis morgen zu warten Smile

Die Matrixvariante hab ich nicht verstanden, hab ich auch in meiner Tabelle nicht zum laufen gebracht.

Den Vorschlag "Zelle A22" verstehe ich auch nicht wirklich, mir fehlt da die Begrenzung auf >100....

Zu Vorschlag "Zelle A21"
Das hab ich zum laufen bekommen --> Hurrrrrraaaaaaaaaaaaaa Smile

Im groißen und ganzen hab ich das glaube ich verstanden, nur der Vergleichsindex [VERGLEICH(100;A1:A20;1)] macht mir Kopfzerbrechen - warum muss das nicht einem 1 und einmal -1 heißen --> es soll ja einmal größer und einmal kleiner sein...???

Wäre fein wenn du mir das kurz erklären könntest, schönen Abend
 Daniel
Top
#4
Hallo Daniel, in deiner Datei bei dieser Konstellation gehen alle drei Varianten. Die Matrixvariante musst Du freilich als Matrixformel abschließen, dann funktioniert das auch... Zu Variante in A22: Deine Werte sind in der Spalte aufsteigend (sortiert) so weit wie ich das gesehen habe. Das heißt ich muss eigentlich nur gucken, wo der größte Wert ist, der kleiner oder gleich 200 bzw. 199 ist...

Den Vergleichstyp 1 habe ich gewählt, weil ... ... aber da kannst du auch selbst in der online-Hilfe nachsehen...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#5
Hallo Daniel, =SVERWEIS(200;A5:L20;12;1) ginge auch...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#6
(23.02.2015, 20:40)Jockel schrieb: Hallo Daniel, in deiner Datei bei dieser Konstellation gehen alle drei Varianten. Die Matrixvariante musst Du freilich als Matrixformel abschließen, dann funktioniert das auch... Zu Variante in A22: Deine Werte sind in der Spalte aufsteigend (sortiert) so weit wie ich das gesehen habe. Das heißt ich muss eigentlich nur gucken, wo der größte Wert ist, der kleiner oder gleich 200 bzw. 199 ist...

Den Vergleichstyp 1 habe ich gewählt, weil ... ... aber da kannst du auch selbst in der online-Hilfe nachsehen...

Guten Morgen,

evtl. gibts eine einfache Erklärung warum ich es nicht verstehe....

Ich hab (tatsächlich aufsteigend sortiert) zunächst Zahlen aus dem Bereich 1-ca. 50 und dann Zahlen aus dem Bereich zwischen 100 und 200. Die Krux an der Sache ist, dass mich nur der Bereich 100-200 interessiert....
Im Bereich 1-50 kann ein größerer Wert auftauchen als bei 100-200, der wäre aber in dem Fall nicht gesucht.



Deswegen auch die Frage nach dem "Vergleichstyp 1" - die Onlineexcelhilfe habe ich angeschaut, 1 sucht nach dem größten Wert, der kleiner oder gleich dem Wert für Suchkriterium ist.

Meine erste Vermutung war, ich müsste so schreiben:

=MAX(INDEX(L1:L20;VERGLEICH(100;A1:A20;-1)):INDEX(L1:L20;VERGLEICH(199;A1:A20;1)))

Da ich ja den Bereich brauche, der größer 100 (-1 --> kleinste Zahl die größergleich 100 ist) und kleiner 200 (1 --> größte Zahl kleinergleich 199)

Über eine kurze Erklärung wäre ich sehr dankbar.

Der letzte SVERWEIS wird gleich noch getestet - ich bin angefixt.

Schönen Tag
 Daniel
Top
#7
Ich sehe gerade dass ich das Beispiel zu simpel gewählt habe, den S-Verweis hab ich verstanden, es wird einfach nur das Maximum in Spalte A gesucht - ich brauche aber den Maximalwert aus Spalte L für die Zeilen, die in Spalte A einen Wert von 100-199 haben.


Im Prinzip kann die Tabelle auch so aussehen wie angehängt (Ergebnis der Berechnung müsste in dem Fall 123456789 sein)


Angehängte Dateien
.xlsx   FrageMaxfinden2.xlsx (Größe: 13,95 KB / Downloads: 5)
Top
#8
Hola,

so?


Code:
{=MAX(WENN((A10:A15>=100)*(A10:A15<=199);L10:L15))}


Die {} nicht mit eingeben, sondern die Formel mit Strg-Shift-Enter abschließen.

Edit: ich seh grad, die Formel hast du ja schon bekommen. Warum hast du nicht versucht sie umzusetzen?

Gruß,
steve1da
Top
#9
Servus,

die Matrixformel {=MAX(WENN((A10:A15>=100)*(A10:A15<=199);L10:L15))} hab ich versucht zu verwenden, in dem (vereinfachten) Beispiel hat sie funktioniert, in der eigentlichen Tabelle dann leider nicht mehr.

Thema ist noch offen da ich noch eine Frage bei der VERGLEICH-Formel habe.

Grüße
 Daniel
Top
#10
Hola,


Zitat: in der eigentlichen Tabelle dann leider nicht mehr.



magst du uns dann auch erzählen, wie die Originaltabelle aussieht?


Gruß,
steve1da
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste