Wert suchen in definiertem Bereich

Liebe Experten,
ich brauche Unterstützung für folgende Aufgabe:

in die Zellen des Bereichs A2 : A10 werden Werte eingegeben.
Zelle A1 soll mir nun den ihr (räumlich) am nächsten liegenden Wert ausgeben.
Beispiel:
Wenn in A5, A6 und A8 Werte eingegeben sind, soll mir A1 den Wert aus A5 liefern.

Umgangssprachlich sollte die Formel etwa so beschrieben sein:

Durchlaufe beginnend von Zelle A2 bis Zelle A10 diesen Bereich und liefere mir den ersten Wert, den du auf genau diesem Weg findest.

Vielen Dank im voraus.

Jorma

Klingt einfach.
Aber…aber…
Eventuell ein Fall für VisualBasic.
Ich habe nur eine Lösung, wenn alle Werte gleich viele Stellen haben.
Das aber führt ja zu nichts.
(Alle Werte mit dem &-Zeichen verbinden und dann die linken (z.B.3)Stellen auslesen)
Sonst muss ich passen - tut mir leid.
Aber ich suche weiter:smile:

in die Zellen des Bereichs A2 : A10 werden Werte eingegeben.
Zelle A1 soll mir nun den ihr (räumlich) am nächsten liegenden
Wert ausgeben.
Beispiel:
Wenn in A5, A6 und A8 Werte eingegeben sind, soll mir A1 den
Wert aus A5 liefern.

Hi Jorma,
geht es nur um 10 Zellen? Wenns mehr sind bleibt nur vba, da kann ich dir was basteln.
Wens nur 10 sind, geht es auch ohne Makro.
Melde dich, welche Lösung du willst.
Gruß
Reinhard

Hi Jorma,
geht es nur um 10 Zellen? Wenns mehr sind bleibt nur vba, da
kann ich dir was basteln.
Wens nur 10 sind, geht es auch ohne Makro.
Melde dich, welche Lösung du willst.
Gruß
Reinhard

Hallo Reinhard,
Es geht um 15 Zellen. Reicht da eventuell noch die Lösung ohne Makro ?
Wenn nicht, wäre ich für ein von Dir gebasteltes sehr dankbar.
Beste Grüße
Jorma

Lösung mit Hilfszelle

Es geht um 15 Zellen. Reicht da eventuell noch die Lösung ohne
Makro ?
Wenn nicht, wäre ich für ein von Dir gebasteltes sehr dankbar.
Beste Grüße

Hi Jorma,
in eine beliebige Hilfszelle, z.B. B1 gibst du folgende Formel als Matrixformel (Eingabe mit Strg+Shift+Enter abschliessen) ein:
=VERGLEICH(WAHR;A2:A15"";0)
In A1 schreibst du als normale Funktion:
=BEREICH.VERSCHIEBEN(A1;B1;0)
Gruß
Reinhard

1 „Gefällt mir“

Hi Jorma,
geht es nur um 10 Zellen? Wenns mehr sind bleibt nur vba, da
kann ich dir was basteln.
Wens nur 10 sind, geht es auch ohne Makro.
Melde dich, welche Lösung du willst.
Gruß
Reinhard

Hallo Reinhard
mich würde Deine Lösung (ohne Makro) auch interessieren.
[email protected]

Hallo Reinhard,
vielen Dank für die Lösung, es klappt.

Hermann, auch Dir vielen Dank für Deine Bemühungen.

Jorma

Hallo Reinhard,
nun hätte mich die VBA-Lösung aber doch auch interessiert.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Lösung mit VBA

Hallo Reinhard,
nun hätte mich die VBA-Lösung aber doch auch interessiert.

Hallo Hermann,

in ein Standardmodul:

Function nächste(Zelle As Range) As Variant
Dim Zei As Long
Application.Volatile
Zei = Zelle.End(xlDown).Row
If Zei \> 10 Then
 nächste = "Bereich leer"
Else
 nächste = Cells(Zei, Zelle.Column)
End If
End Function

Aufruf: in Zelle A1 folgende Funktion:
=nächste(A1)

Gruß
Reinhard

Danke schön
Eigentlich ist das doch blöde -
Excel soll ein Anwenderprogramm sein.
man(frau) VBA beherrscht.
Der „normale“ Anwender aber hat weder Zeit noch Lust, eine Progammiersprache zu lernen.
Excel ist schon ohne VBA recht kompliziert und erschließt sich nur den Hartnäckigsten.
Aber selbst wenn man täglich mit Excel arbeitet, kann man sich wahrscheinlich nicht viel mehr als 5% der Möglichkeiten aneignen.
Ich arbeite schon seit Jahren damit und lerne täglich noch Neues.
In meiner Firma gelte ich schon als Spezialist - aber ich weiß, dass ich erst an der Oberfläche gratze!
E i n g u t e s N E U E S J A H R
allen Excel-Freunden

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]