Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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
Minimum in Array finden
14.12.2016 14:08:25
Hendrik
Hallo zusammen,
ich möchte in einem mehrdimensionalen Array den Minimalen Wert finden. Dieser kann sowohl größer als auch kleiner als 0 sein.
Mit
For i = 0 To UBound(glStrArr)
if glStrArr(i,2) 

komme ich (bspw. beim Array 7,8,9,10) ja nicht weiter, da Initial eine 0 in lngMin steht. Wie würdet Ihr das möglichst perfomant (Array ist bis zu 10.000 Zeilen lang) gestalten?
Danke und Grüße
Hendrik

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Minimum in Array finden
14.12.2016 14:22:09
Daniel
Hi
verwende einfach den ersten Wert des Arrays als Startwert für lngMin
lngMin = glStrArr(0, 2)
For i = 1 To UBound(glStrArr)
if glStrArr(i,2) 
oder verwende einen sehr großen Zahl als Startwert, der Wert muss größer sein als der Kleinste Wert im Array.
beim Typ Long nimmst du lngMin = 2^32-1
beim Typ Double nimmst du lngMin = 10^308
Gruß Daniel
AW: Minimum in Array finden
15.12.2016 11:03:03
Hendrik
Hallo Daniel,
danke für die Hilfe.
der erste Wert ist in dem unsortierten Array keine Hilfe.
Bei

Dim lngMin As LonglngMin = 2 ^ 32 - 1

bekomme ich einen Überlauf.
Grüße
Anzeige
AW: Minimum in Array finden
15.12.2016 12:06:19
Daniel
der erst Wert ist nur dann keine Hilfe, wenn er keine Zahl sondern ein Text oder "leer" ist.
Sobald de erste Wert eine Zahl ist, der in die MIN-Berechnung eingeht, kannst du diesen verwenden.
Die Sortierung spielt jedoch keine Rolle.
Für die Min-Ermittlung kannst du als Startwert jeden Wert verwenden, der größer oder gleich dem tatsächlichen Min im Array ist, dh du kannst jeden Wert aus dem Array nehmen.
Ansonsten ist die Obergrenze für den Typ Long 2^31-1
(der Typ hat einen Zahlenraum von 2^32 (32bit), aber die eine Hälfte ist ja für die negativen Zahlen reserviert, daher 2^31-1 als größten Positiven Wert.
Gruß Daniel
gruß Daniel
Anzeige

110 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige