AW: dann ...
09.12.2014 13:26:29
Daniel
Hi
a) ohne VBA so vorgehen:
1. Tabelle nach Spalte A (Rechnungsnummer) und B (Kundenbestellnummer) aufsteigend sortieren
2. in Spalte C eine Hilfsspalte einfügen mit folgender Formel (Formel für C2, dann nach unten kopiert):
=WENN(ODER(A2A3;B2B3);B2&WENN(A2=A3;", ";"");"")&WENN(A2=A3;C3;"")
3. in E2 dann die Formel:
=SVerweis(123456;A:B;2;Falsch)
b) mit VBA
könnte man sich eine entsprechende benutzerdefinierte Funktion schreiben:
Function SVerweisMehrereErgebnisse(Suchbegriff As Variant, Suchmatrix As Range, _
ErgebnisSpalte As Long, Optional Trennzeichen As String = ", ") As String
Dim arr
Dim DicErgebnis As Object
Dim Zeile As Long
Set DicErgebnis = CreateObject("Scripting.Dictionary")
arr = Intersect(Suchmatrix, Suchmatrix.Worksheet.UsedRange).Value
For Zeile = 1 To UBound(arr, 1)
If arr(Zeile, 1) = Suchbegriff Then DicErgebnis(arr(Zeile, ErgebnisSpalte)) = 0
Next
If DicErgebnis.Count = 0 Then
SVerweisMehrereErgebnisse = ""
Else
SVerweisMehrereErgebnisse = Join(DicErgebnis.keys, Trennzeichen)
End If
End Function
und diese Funktion dann in der Zelle E2 verwenden:
=SVerweisMehrereErgebnisse(123456;A:B;2;", ")
Gruß Daniel