Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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
?mage


Angehängte Dateien
.xlsx   Frage Maxfinden.xlsx (Größe: 13,89 KB / Downloads: 4)
to 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
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
[-] Folgende(r) 1 Benutzer sagt Danke an Jockel für diesen Beitrag:
Daniel.Haering
to 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 :-)

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 :-)

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
to 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...
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#5
Hallo Daniel, =SVERWEIS(200;A5:L20;12;1) ginge auch...
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#6
(23.02.2015, 19: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
to 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)
to 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
to 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
to 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
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Maximum für bestimmten Bereich Ben 16 216 02.12.2016, 08:24
Letzter Beitrag: Ben
  Zelleninhalte nicht dynamisch Butterbrot23 2 74 17.11.2016, 09:02
Letzter Beitrag: schauan
  Dynamisch Werte von einem anderen Blatt lesen Rapt0r 5 90 26.10.2016, 18:56
Letzter Beitrag: Rapt0r
  Dynamisches Diagramm und Tabellen logisch/dynamisch miteinander verknüpfen P.S.Nelke 3 277 29.08.2016, 07:47
Letzter Beitrag: P.S.Nelke
  Maximum gleitender Durchschnittswerte Jes 2 142 18.08.2016, 04:58
Letzter Beitrag: schauan
  Dynamisch erstellte UserForm1 wird nicht sofort angezeigt VBATartar 3 241 07.08.2016, 18:59
Letzter Beitrag: Kuwer
  Variables Minimum oder Maximum auslesen Maria2017 3 269 30.07.2016, 10:21
Letzter Beitrag: neopa
  Schaltfläche dynamisch wieder löschen - Objektorientierte Programmierung VBATartar 12 660 26.07.2016, 18:38
Letzter Beitrag: VBATartar
  Liste und Diagramm (dynamisch) für Auftragseingänge Jastar 5 438 05.07.2016, 05:21
Letzter Beitrag: Rabe
  Bereichsname dynamisch erstellen YvonneW 8 784 04.04.2016, 14:41
Letzter Beitrag: YvonneW

Gehe zu:


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