Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In Liste suchen –mehrere Ergebnisse ausgeben

In Liste suchen –mehrere Ergebnisse ausgeben
Sandra
Hallo liebe Excel-Freunde!
Ich suche in einer Spalte eine bestimmte Zeichenkombination und möchte in jeder Zeile (in der diese Kombination gefunden wird) einen weiteren Wert auslesen. Alle ausgelesenen Werte sollen in einer Zelle durch Leerzeichen getrennt ausgegeben werden.
Für mich ist es schwierig, dass die Zeichenkombination mehrfach in der Spalte vorkommt. Ich schaffe es bisher nur für den Fall, dass der Wert nur einmal vorkommt:
= INDEX($B$2:$K$2500;VERGLEICH(VERKETTEN("*";"-";L5;"-";M5);$K$2:$K$2500;0);1)
Kann jemand bitte helfen?
Vielen Dank & Grüße
Sandra
AW: In Liste suchen –mehrere Ergebnisse ausgeben
19.04.2012 17:37:57
Sheldon
Hallo Sandra,
ist ganz schön schwierig! Vergleich findet ja immer nur den ersten passenden Eintrag. Mehrere Ergebnisse lassen sich im Prinzip mit einer Matrixformel finden wie z.B. dieser hier.
Aber die funktioniert nicht mit Wildcards, denn du suchst bei Vergleich ja mit einem Sternchen.
Und dann gibts da noch das Problem, dass sich ein Array nicht verketten lässt. Sonst würde ja z.B. die Funktion Verketten(A1:A3) ein Ergebnis liefern (bzw. mehr als den Wert der ersten Zelle, als Arrayformel).
Und zu guter Letzt bliebe noch eine Lösung mit VBA. Aber hier fehlt mir der Ansatz, einen Vergleich mit Wildcards zu schreiben... Vll. hat hier noch jemand anders eine Idee, daher lasse ich die Frage mal offen.
Gruß
Sheldon
Anzeige
AW: In Liste suchen –mehrere Ergebnisse ausgeben
20.04.2012 08:54:53
Sandra
Hallo Sheldon,
dennoch erstmal vielen Dank! Hat jemand noch einen Vorschlag?
Gruß
Sandra
AW: In Liste suchen –mehrere Ergebnisse ausgeben
20.04.2012 09:45:19
Rudi
Hallo,
als UDF:
Function AlleWerte _
(rErg As Range, _
sMatch As String, _
rMatch As Range, _
Optional sDelim As String = " ") _
As String
'rErg=Ergebnisspalte, sMatch=Suchbegriff
'rMatch=Suchspalte, sDelim=Trennzeichen
Dim objErg As Object, lngC As Long
Dim arrErg, arrMatch
Set objErg = CreateObject("Scripting.Dictionary")
arrErg = rErg.Value
arrMatch = rMatch.Value
For lngC = LBound(arrMatch) To UBound(arrMatch)
If arrMatch(lngC, 1) Like sMatch Then
objErg(objErg.Count + 1) = arrErg(lngC, 1)
End If
Next
AlleWerte = Join(objErg.items, sDelim)
End Function

Gruß
Rudi
Anzeige
AW: In Liste suchen –mehrere Ergebnisse ausgeben
20.04.2012 10:25:20
Sandra
Hallo Rudi,
vielen vielen Dank! Leider sind meine VBA-Kenntnisse minimal.
Habe den Code bei "Code anzeigen" hineinkopiert. Könntest du bitte noch kurz ein Beispiel schreiben, was ich in die Zelle eintragen muss, um den Prozess auszuführen. Sorry.
Nochmal vielen Dank für deine Mühe.
Sandra
AW: In Liste suchen –mehrere Ergebnisse ausgeben
20.04.2012 10:40:45
Rudi
Hallo,
1. der Code gehört in ein Modul. Im VBE Rechtsklick auf das Projekt, Einfügen-Modul.
2. = Allewerte($B$2:$B$2500;VERKETTEN("*";"-";L5;"-";M5);$K$2:$K$2500;", ")
Den letzten Teil (;", ") kannst du auch weglassen. Dann wird mit Leerzeichen getrennt.
Gruß
Rudi
AW: In Liste suchen –mehrere Ergebnisse ausgeben
20.04.2012 11:22:55
Sandra
Rudi -es funktioniert, vielen Dank!!!
Gruß
Sandra
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige