Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
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

2t-kleinster Wert aus Auflistung, VBA

2t-kleinster Wert aus Auflistung, VBA
Marc
Guten Morgen, Gemeinde!
Aus einer Reihe von Grenzwerten möchte ich den zweitkleinsten Wert ermitteln.
Das Problem mit "Rang" bzw .small ist, das der zweitkleinste Wert sich nicht tatsächlich vom kleinsten Wert unterscheiden muß, wenn der Wert mehrfach vorkommt.
Beispielwerte:
8
8
64
64
64
177,99
178
Zweitkleinster Rang = 8, gewünschtes Ergebnis ist aber 64!
Mit WorksheetFunction.Small komm ich nicht weiter, wäre dankbar für den entscheidenden Tip.
Danke für die Mühe
Gruß, Marc

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
geht auch mit Formeln
19.08.2011 09:49:46
Matthias
Hallo Marc
Könnte man so lösen
Tabelle1

 ABC
18 8
28864
364 177,99
464 178
56464 
6177,99177,99 
7178178 

Formeln der Tabelle
ZelleFormel
B1=WENN(1/ZÄHLENWENN($A1:$A$7;A1)=1;A1;"")
C1=KKLEINSTE($B$1:$B$7;1)
B2=WENN(1/ZÄHLENWENN($A2:$A$7;A2)=1;A2;"")
C2=KKLEINSTE($B$1:$B$7;2)
B3=WENN(1/ZÄHLENWENN($A3:$A$7;A3)=1;A3;"")
C3=KKLEINSTE($B$1:$B$7;3)
B4=WENN(1/ZÄHLENWENN($A4:$A$7;A4)=1;A4;"")
C4=KKLEINSTE($B$1:$B$7;4)
B5=WENN(1/ZÄHLENWENN($A5:$A$7;A5)=1;A5;"")
B6=WENN(1/ZÄHLENWENN($A6:$A$7;A6)=1;A6;"")
B7=WENN(1/ZÄHLENWENN($A7:$A$7;A7)=1;A7;"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige
AW: 2t-kleinster Wert aus Auflistung, VBA
19.08.2011 09:53:07
Henrik
Hallo Marc,
hier mal eine Funktion für ein Modul.
Kannst du natürlich auch anders umbauen.
So könntets du sie auch als normale Funktion auf jedem Tabellenblatt verwenden. Public Function MiniZwei(rngZahlenbereich As Range) Dim lngMIN As Long, fncWKS As WorksheetFunction, lngAZ As Long Set fncWKS = WorksheetFunction lngMIN = fncWKS.Min(rngZahlenbereich) lngAZ = fncWKS.CountIf(rngZahlenbereich, lngMIN) MiniZwei = fncWKS.Small(rngZahlenbereich, lngAZ + 1) End Function
Gruß Henrik

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige