Office: Position eines Wertes innerhalb eines Arrays

Helfe beim Thema Position eines Wertes innerhalb eines Arrays in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, wie kann ich folgendes machen: Finde den größten Wert innerhalb des Arrays und gib die Position an Finde den zweitgrößten Wert... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von tgasau, 11. März 2007.

  1. Position eines Wertes innerhalb eines Arrays


    Hallo zusammen,

    wie kann ich folgendes machen:

    Finde den größten Wert innerhalb des Arrays und gib die Position an
    Finde den zweitgrößten Wert innerhalb des Arrays und gib die Position an
    Finde den drittgrößten Wert innerhalb des Arrays und gib die Position an
    .
    .
    .

    Hat da einer ne Idee?

    Danke und viele Grüße
    Till *Smilie

    :)
     
    tgasau, 11. März 2007
    #1
  2. OfficeUser Neuer User
    Hallo Till,

    per Formel so:
     AB
    151
    223
    345
    412
    534
    B1 : {=VERGLEICH(1;--(KGRÖSSTE($A:$A;ZEILE(A1))=$A:$A);0)}
    B2 : {=VERGLEICH(1;--(KGRÖSSTE($A:$A;ZEILE(A2))=$A:$A);0)}
    B3 : {=VERGLEICH(1;--(KGRÖSSTE($A:$A;ZEILE(A3))=$A:$A);0)}
    B4 : {=VERGLEICH(1;--(KGRÖSSTE($A:$A;ZEILE(A4))=$A:$A);0)}
    B5 : {=VERGLEICH(1;--(KGRÖSSTE($A:$A;ZEILE(A5))=$A:$A);0)}

    Enthält Matrixformel:
    Umrandende
    { } nicht miteingeben,
    sondern Formel mit STRG+SHIFT+RETURN abschließen!
    Gruß Ingolf
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 13. März 2007
    #2
  3. Hi IngGi,

    ich benötige das aber in VBA. Wenn ich mir ein Array mit Werten Anlege.

    Kannst Du mir da auch helfen?

    Till *Smilie
     
    tgasau, 13. März 2007
    #3
  4. Position eines Wertes innerhalb eines Arrays

    Hallo Till,

    folgendes als schnellerstellte Spieldaten per VBA (geht unter Garantie noch viel eleganter !):

    Private Sub test()

    deinarray = Array(1, 10, 8, 2, 5)

    maxpos = 0
    maxwert = deinarray(0)
    minwert = deinarray(0)
    For x = 0 To UBound(deinarray)
    If deinarray(x) >= maxwert Then
    maxwert = deinarray(x)
    maxpos = x
    End If
    If deinarray(x) = minwert) And (deinarray(x) >= nmaxwert)) Then
    nmaxwert = deinarray(x)
    nmaxpos = x
    End If
    Next x
    MsgBox "Wert " & nmaxwert & " mit Rang " & (i + 1) & " wurde an Position " & (nmaxpos + 1) & " des Arrays gefunden !"
    maxwert = nmaxwert
    Next i

    End Sub


    Probleme sind sicher noch mehrere gleiche Werte....


    Berti
     
    Berti_S, 13. März 2007
    #4
  5. Hallo Till,

    dein Originalarray musst du wie im nachfolgenden Code kopieren und dann mit der Kopie arbeiten, da nach jedem Durchlauf der äußeren Schleife der jeweils größte Wert im Array mit einem Leerstring überschrieben wird. Das Array wird also verändert. Das Array (die Kopie) muss als Variant deklariert sein.
    Code:
     
  6. Hi,

    wenn das Array nicht so groß ist kannst du ja auch die Formel vom Till nehmen und in einer Spalte fest vordefinieren.
    In einer anderen Spalte die zu überprüfenden Werte per VBA einfügen
    --> und dann sollte das ohne viel Vergleichsquellcode funktionieren

    MfG Steve
     
    maxler05, 13. März 2007
    #6
  7. Supi, danke!

    Das hilft mir auf jeden Fall schon mal weiter :-)
     
    tgasau, 13. März 2007
    #7
Thema:

Position eines Wertes innerhalb eines Arrays

Die Seite wird geladen...
  1. Position eines Wertes innerhalb eines Arrays - Similar Threads - Position Wertes Arrays

  2. User form Drucken Position

    in Microsoft Excel Hilfe
    User form Drucken Position: Hallo Leute Habe den Code für das Ausdrucken einer User Form.. Die User Form wird im A4 Blatt gedruckt habe aber links nur einen Abstand von einem 1 cm zum Blattrand. Wie kann ich den Abstand vom...
  3. Textfelder verschieben

    in Microsoft Excel Hilfe
    Textfelder verschieben: Hallo Forum, ich habe zwei Textfelder auf meinem Tabellenblatt (Textfeld 4 und Textfeld 5) in meiner xlsm Excel Datei. Textfeld 4 befindet sich unter Textfeld 5. Diese beiden Textfelder nutze ich,...
  4. Rechnung mit Positionen und Defaultwert-Vervollständigung

    in Microsoft Excel Tutorials
    Rechnung mit Positionen und Defaultwert-Vervollständigung: Momentan noch fehlerhaft bei direktem Anschluss der Bereiche! Es sei gegeben der Auswertungsbereich A1:C2: 02.02.2023 04.04.2023 25 05.05.2023 06.06.2023 20 ...sowie die 3 Parameter von, bis und...
  5. Linien in Bericht dynamisch in Höhe und Position???

    in Microsoft Access Hilfe
    Linien in Bericht dynamisch in Höhe und Position???: Hallo zusammen, ich habe folgendes Problem: In einem Bericht habe ich im Berichtsfuß drei Unterberichte nebeneinander, welche unterschiedliche Höhen haben können. (Darunter kommen dann weitere...
  6. Herausfiltern von Werten zu einer bestimmten Position

    in Microsoft Excel Hilfe
    Herausfiltern von Werten zu einer bestimmten Position: Hallo zusammen, ich bräuchte Hilfe bei einem Thema: Ich habe eine Liste mit Positionen und welche Werte mit dieser Position verknüpft sind. Bsp.: Position ID A-11-11-11 M5151...
  7. Kleinsten Wert und Position des kleinsten Wertes im Array

    in Microsoft Excel Hilfe
    Kleinsten Wert und Position des kleinsten Wertes im Array: Hallo zusammen, wie bekomme ich den kleinsten Wert und speziell die Position des kleinsten Wertes in einem Array raus? Das Array ist zweidimensional. Danke im voraus !! Till *Smilie 240919
  8. Werte an richtige Position schreiben

    in Microsoft Excel Hilfe
    Werte an richtige Position schreiben: Hallo alle zusammen, mir stellt sich gerade ein Excelproblem, bei dem ich selbst nicht weiterkomme. Folgendes: Es gibt 2 Werte und eine Zahlenreihe von 1 bis 10. Wert 1 und 2 können...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden