Mal angenommen man möchte von einer Liste einen Wert suchen, der am ehesten einen anderen Wert entspricht kann man folgende Funktion verwenden:
Umsetzung mit einer Matrix-Formel
{=INDEX(Bereich_der_ausgegeben_werden_soll;VERGLEICH(MIN(ABS(Bereich_der_verglichen_werden_soll-Vergleichswert));ABS(Bereich_der_verglichen_werden_soll-Vergleichswert);0))}
Anmerkung: Matrix-Formel
Beispiel: Der Student mit dem besten 4er.
Beispiel: der beste Student
Beispiel: Der Monat der am ehesten eine bestimmte Temperatur hat
Beispiel: Der durchschnittlichste Springer
Umsetzung in VBA
Funktionsweise der amehesten
Funktion
- Parameter:
Ausgabebereich
: Der Bereich, aus dem der nächstgelegene Wert ermittelt wird.Vergleichsbereich
: Der Bereich, in dem nach dem nächsten Wert gesucht wird.Wert
: Der Vergleichswert.iVergleichsart
(optional): Steuert die Art des Vergleichs (0 = absolut, 1 = nur größer, 2 = nur kleiner).
- Logik:
- Die Funktion prüft, ob die beiden Bereiche gleich groß sind.
- Sie speichert dann Werte und ihre Differenzen zum Vergleichswert in einem Array.
- Schließlich wird der Wert im Array gefunden, der die geringste Differenz zum Vergleichswert aufweist.