Nächsten kleineren und größeren Wert in Excel finden
Schritt-für-Schritt-Anleitung
Um den nächst kleineren und größeren Wert in Excel zu finden, kannst Du den folgenden VBA-Code verwenden. Dieser Code sucht in einer aufsteigenden Liste von Zahlenwerten (Spalte A, Zeile 18 bis zur ersten Leerzelle) nach dem nächst kleineren und größeren Wert im Vergleich zu einem vorgegebenen Suchwert in Zelle C3.
- Öffne Excel und aktiviere die Entwicklertools.
- Klicke auf "Visual Basic", um den VBA-Editor zu öffnen.
- Erstelle ein neues Modul und füge den folgenden Code ein:
Option Explicit
Sub NächsteWerteFinden()
Dim strMax As String
Dim strMin As String
Dim lR As Long
lR = [A18].End(xlDown).Row
strMax = "MAX((A18:A" & lR & "<C3)*A18:A" & lR & ")"
strMin = "MIN(IF(A18:A" & lR & ">C3,A18:A" & lR & "))"
MsgBox "Nächst kleinerer Wert: " & Evaluate(strMax) & vbLf & _
"In Zeile: " & Application.Match(Evaluate(strMax), Range("A18:A" & lR), 0) + 17
MsgBox "Nächst größerer Wert: " & Evaluate(strMin) & vbLf & _
"In Zeile: " & Application.Match(Evaluate(strMin), Range("A18:A" & lR), 0) + 17
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Führe das Makro
NächsteWerteFinden
aus, um den nächst kleineren Wert sowie den nächst größeren Wert zu erhalten.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch Formeln nutzen:
-
Für den nächst kleineren Wert:
=MAX(WENN(A18:A100<C3; A18:A100))
-
Für den nächst größeren Wert:
=MIN(WENN(A18:A100>C3; A18:A100))
Verwende diese Formeln als Array-Formeln, indem Du die Eingabe mit Strg + Shift + Enter
bestätigst.
Praktische Beispiele
Angenommen, Du hast folgende Werte in Spalte A (A18 bis A22):
A18: 10
A19: 20
A20: 30
A21: 40
A22: 50
Wenn Du in Zelle C3 den Wert 25 eingibst und das Makro ausführst, wirst Du als Ergebnis den nächst kleineren Wert 20 und den nächst größeren Wert 30 erhalten.
Tipps für Profis
- Um die Leistung des Makros zu verbessern, achte darauf, nur den benötigten Zellbereich in den Formeln zu verwenden.
- Du kannst den Code erweitern, um die gefundenen Werte in spezifische Zellen zu schreiben, anstatt sie in einer MessageBox anzuzeigen.
- Experimentiere mit dem
SVERWEIS
, um den nächst größeren Wert in Kombination mit anderen Funktionen zu finden.
FAQ: Häufige Fragen
1. Wie kann ich den nächst kleineren Wert in einer Liste finden, die nicht sortiert ist?
Du kannst die AGGREGAT
-Funktion in Kombination mit WENN
verwenden, um den nächst kleineren Wert zu ermitteln.
2. Kann ich den Code auch in Excel Online verwenden?
Leider unterstützt Excel Online keine VBA-Makros. Stattdessen musst Du die Formeln verwenden, die in diesem Tutorial beschrieben sind.