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 habe noch einen Nachfrage zu
1260086 2012-04-19 13:49:24 In Liste suchen –mehrere Ergebnisse ausgeben
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

Rudi (vielen Dank!) hatte folgendes vorgeschlagen:
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


D.h. ich habe nun in einer Zelle mehrere Datenwerte, z.B. durch Komma getrennt. Nun müsste ich jedoch jeden dieser einzelnen Werte durch eine bestimmte/variable Zahl teilen. Das funktioniert aber nur, wenn nur eine Zahl in der Zelle steht.
Wie kann ich mehrere Datenwerte in der Zelle durch den gleichen Wert teilen? Hat jemand eine Idee?
Vielen Dank!
Sandra

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: In Liste suchen –mehrere Ergebnisse ausgeben
21.04.2012 11:26:47
Josef

Hallo Sandra,
Vielleicht so.
Function AlleWerte(rErg As Range, sMatch As String, rMatch As Range, Optional Operation As String = "*1", 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) = Evaluate(arrErg(lngC, 1) & Replace(Operation, ",", "."))
    End If
  Next
  AlleWerte = Join(objErg.items, sDelim)
End Function


'Beispiel:
'Um alle Werte durch die Zahl in D2 zu teilen
'=AlleWerte(C1:C18;"*-*";A1:A18;"/"&D1)



« Gruß Sepp »

Anzeige
AW: In Liste suchen –mehrere Ergebnisse ausgeben
21.04.2012 11:57:37
Sandra
Hallo Sepp,
vielen Dank für deine Unterstützung -eine kurze Rückfrage:
'Um alle Werte durch die Zahl in D2 zu teilen
'=AlleWerte(C1:C18;"*-*";A1:A18;"/"&D1)
C1:C18 = Matrix in der ich meine Zeichenkombination suche...
Wo kann ich in der Funktion diese (zu suchende) Zeichenkombination eintragen (war z.B. VERKETTEN("*";"-";L5;"-";M5)...
A1:A18 = Matrix, wo sich der zu ermittelnde Wert befindet (z.B. wird die Zeichenkombination in C1 und C5 gefunden, also wird A1 und A5 ausgegeben)
D1 = durch diesen Wert werden alle zu ermittelnden Werte geteilt (also z.B. C1 und C5)
Richtig? Vielen Dank für deine Mühe!
Sandra
Anzeige
AW: In Liste suchen –mehrere Ergebnisse ausgeben
21.04.2012 12:02:53
Josef

Hallo Sandra,
das müsste so funktionieren.
=AlleWerte(A1:A18;"*-"&L5&"-"&M5&"*";C1:C18;"/"&D1)


« Gruß Sepp »

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige