Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Maximaler Wert abhängig von Erster Ziffer

Maximaler Wert abhängig von Erster Ziffer
17.07.2019 10:37:59
Erster
Hallo Forum,
Ich habe eine Tabelle welche Artikel-Nr. abgebildet sind Diese beginnen mit einer 1 oder 2 oder 3 usw. Die Länge der Artikel-Nr. variert zwischen 9-11 Zahlen. In einer Zweiten Spalte habe ich für jeden Artikel eine 6stellige Nummer vergeben, welche von der ersten Ziffer der Artikel-Nr. abhängig ist.
Kleines Beispiel
  • Spalte A Spalte B
    121000101 100010
    121000102 100020
    14121000101 100030
    235100101 200010
    235100102 200020

  • Ich suche nun den höchsten Wert (MAX) welcher abhängig von der ersten Ziffer aus Spalte B mit einer 2 beginnt. Mein Ansatz =MAX(LINKS(B2:B5000;1)=1) findet den Wert aber nicht.
    Für einen Lösungsansatz bin ich Euch jetzt schon dankbar.
    Liebe Grüsse
    Matti

    13
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Maximaler Wert abhängig von Erster Ziffer
    17.07.2019 10:41:58
    Erster
    Hola,
    =MAX(WENN(LINKS(B2:B6;1)="2";B2:B6))
    
    mit Strg-Shift-Enter abschließen.
    Gruß,
    steve1da
    AW: Maximaler Wert abhängig von Erster Ziffer
    17.07.2019 10:59:14
    Erster
    Hallo Steve1,
    Supi klappt wunderbar. Habe da wohl den 2ten Teil wo der Max Wert eruiert werden muss vergessen. Bin immer wieder froh über dieses Forum.
    Schöner Tag und lieber Gruss
    Matti
    AW: bei AGGREGAT() brauchts kein WENN() ...
    17.07.2019 10:51:33
    neopa
    Hallo Matti,
    ... und auch keinen spez, Formelabschluß:
    Einfach so: =AGGREGAT(14;6;B1:B99/(LINKS(B1:B99;1)+0=2);1)
    Gruß Werner
    .. , - ...
    AW: bei AGGREGAT() brauchts kein WENN() ...
    17.07.2019 11:02:33
    Matti
    Hallo Werner
    Danke für Deinen Tipp, werde ich mir auch anschauen.
    Lieber Gruss
    Matti
    Anzeige
    bei MAX braucht man auch kein WENN
    17.07.2019 11:20:40
    WF
    {=MAX((LINKS(B2:B9)="2")*B2:B9)}
    WF
    AW: aber ohne zusätzlich INDEX() ein {} owT
    17.07.2019 11:22:05
    neopa
    Gruß Werner
    .. , - ...
    Ich liebe {}
    17.07.2019 11:38:40
    WF
    .
    :-)
    17.07.2019 11:51:36
    {Boris}
    ...
    AW: kannst Du ja auch, bloß ...
    17.07.2019 11:55:25
    neopa
    Hallo WF,
    ... künftige Excelusergenerationen werden für derartige Lösungen weder {Max} noch AGGREGAT() nutzen sondern MAXWENN() oder es ganz ohne Formeln lösen.
    Gruß Werner
    .. , - ...
    ohne Aggregat gefällt mir
    17.07.2019 12:00:33
    WF
    .
    AW: ohne Aggregat gefällt mir
    17.07.2019 12:04:11
    Daniel
    naja, du verbreitest ja auch Lösungen, die du selber für bescheuert hälst.
    Gruß Daniel
    Ein Streit um 'Kaisers Bart', denn, ...
    18.07.2019 02:52:19
    Luc:-?
    …wie schon des Öfteren von mir erwähnt, W & W,
    geht's bei MatrixFmln doch nur um eine Mitteilung an den FmlText-Interpreter, ob alle Werte berechnet u/o weiterverwendet wdn sollen. In einfacheren Fällen wdn sowieso alle Werte berechnet und das ist nur eine Mitteilung, ob auch alle wiedergegeben wdn sollen, bei plu­ralen MatrixFmln bisher/zuvor unverzichtbar. Bei singularen MatrixFmln ist ja neuerdings in eindeutigen Fällen keine Mitteilung mehr erforderlich → der Interpreter entscheidet selbst.
    Ansonsten übernehmen manche Xl-Fktt alle errechneten Werte, andere nicht oder nur bei dieser Mitteilung. Man kann (unter Xl14/2010 getestet) auch bei AGGREGAT MatrixFml-Form benötigen und bei einer typischen MatrixFml nicht, wenn man ihren Text auswertet. Dazu folgd Bspp (1er Werte sind hier für DemoZwecke günstiger; ggf modifizierte OriginalFmln):
    NormalZellFml: =maxNr1
    benannte Fml maxNr1: =AUSWERTEN(T(JETZT())&"MAX(WENN(--LINKS(B1:B5)=1;B1:B5))")
    NormalZellFml: =maxNr2
    benannte Fml maxNr2: =AUSWERTEN(T(JETZT())&"Max((--Links(B1:B5)=2)*B1:B5)")
    Oder per UDF (auf Basis vbFkt Evaluate) als NormalZellFml (mit FmlText in US-Original-Notation):
    =TxEval(T(JETZT() )&"Max((--Left(B1:B5)=1)*B1:B5)") → nach WF
    =TxEval(T(JETZT())&"Max(If(--Left(B1:B5)=2,B1:B5))") → nach SF
    Man könnte aber auch eine UDF benutzen, die nur die relevanten Bereiche verwendet und ggf einen diskontinuierlichen Bereich erzeugt, der von AGGREGAT ebenfalls verarbeitet wdn kann*. Auf der Basis von …
    {=MAX(NoErrRange(B1:B5; ;LINKS(B1:B5)="1")) } kann so folgd singulare MatrixFml gebildet wdn:
    {=AGGREGAT(4;1;NoErrRange(B1:B5;;LINKS(B1:B5)="1"))}
    (Die MatrixFml-Form ist hier allerdings nur wg der unkonventionellen (Matrix-)Ermittlung von LINKS im 3.Argument der UDF erfor­der­lich, sonst berechnet der Interpreter dieses Auswahl­Kriterium nicht als Datenfeld.°)
    Wäre AGGREGAT einheitlicher pgmmiert worden, könnte aber auch generell mit Datenfeldern gearbeitet wdn, wie die nachfolgd ange­wen­dete UDF zeigt (1.Argument<0 → m.Evaluierung, sonst MxFml-Form erforderlich):
    =AggregateXk(-4; 6;B1:B5/(--LINKS(B1:B5)=1)) → nach neopa
    __________
    * Zur Überprüfung einfach die längste ID in A[:B] ans Ende setzen.
    ° Dass das in 1.Linie an der Entscheidung des Interpreters liegt, erkennt man daran, dass eine fertige, dem 1.Argument gleichgroße Matrix oder eine matrix­er­zeu­gende Fkt der UDF alle Werte übergibt, so dass AGGREGAT dann auch in NormalFml angegeben wdn kann, weil die UDF alle zutreffenden Zellen (als ZellBezug ana­log INDIREKT und -falls möglich- INDEX) zurückgibt: =AGGREGAT(4;1;NoErrRange(B1:B5;;MMULT(--(LINKS(B1:B5)="1");1)))

    Morhn, Luc :-?
    Anzeige
    Evtl kann man das auch rationeller gestalten, ...
    18.07.2019 03:15:19
    Luc:-?
    …Matti,
    da es sich ja wohl um die Fortschreibung einer eigenen DurchNummerierung von ArtikelNrn handelt. Anderenfalls würdest du ja nicht die jeweils höchste, bereits vergebene Nr suchen wollen. Ich denke da an eine Kombination der KontingentBildung (anhand der 1.Stelle der ArtikelNr) und der lfd DurchNumme­rierung derjenigen ArtikelNrn, zu denen noch kein Pendant existiert.
    Morhn, Luc :-?
    „Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
    Deshalb Intelligenz steigern mit …

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige