Willkommen

Pivottabelle

Spezialfilter

Formeln

Zellformate

Bedingte Formate

Gültigkeit

Programmierung

UDF - Funktionen

Tipps & Tricks

Webabfrage

Fehlersuche

Farbindex

Shortcuts

Limitationen

Downloads

Links

Kontakt

Disclaimer

Impressum

Sverweis Spezial
Hier nun ein programmierter Sverweis, welchen ich freundlicherweise von Ransi für meine HP bekommen habe.
Ein komplexer Sverweis bei mehrfach vorkommenden Suchkriterien/Werten.
Im Gegensatz zum Standard-Sverweis, zeigt Sverweis2 alle Treffer an und sucht auch nach links. Auf Wunsch mit und ohne Duplikate.
 
Dieser Sverweis besitzt 4 feste + 2 optionale Parameter.
1. Eingabe des Suchbegriffs bzw der Zelladresse in der sich der Suchbegriff befindet
2. Suchbereich/Matrix
3. Die Suchspalte ( anders als beim Standard-Sverweis, hier ist es immer 1 ) innerhalb der Matrix
4. Die Ergebnisspalte innerhalb der Matrix
5. Optional - Sollen Duplikate angezeigt werden? Keine Eingabe = WAHR entspricht ohne Duplikate
6. Optional - Wahl eines Trennzeichens. Keine Eingabe = Komma als Trennzeichen
 
 
 
Hier eine kurze Gegenüberstellung zwischen dem Standard- und Spezialsverweis.
 
 
 
 
Nachfolgend eine kleine Beispieltabelle zum Aufruf und Arbeitsweise der Formel.
 
 
Tabelle2
 ABCDEFG
1       
2Formel-Nr   Suchmatrix
31.Suchbegriff:Toni VornameNachnameAbteilung
4Ergebnis:Müller, Meier, Müller ToniMüllerWareneingang
5    RalfMustermannWarenausgang
62.Suchbegriff:Toni HugoMustermannZoll
7Ergebnis:Müller/Meier PeterBeispielRetouren
8    ToniMeierKundenservice
93.Suchbegriff:Toni ToniMüllerZoll
10Ergebnis:Wareneingang, Kundenservice, Zoll    
11       
124Suchbegriff:Mustermann    
13Ergebnis:Ralf, Hugo    
14       
Formeln der Tabelle
C4 : =sverweis2(C3;E3:G9;1;2;FALSCH)
C7 : =sverweis2(C6;E3:G9;1;2;WAHR;"/")
C10 : =sverweis2(C9;E3:G9;1;3)
C13 : =sverweis2(C12;E3:G9;2;1)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
 
Die Tabelle zeigt in den Spalten E bis G die Abteilungsverantwortlichen für ein fiktives Unternehmen.
 
Formel1: Gesucht wird nach dem Vornamen "Toni". Optionaler Parameter für Duplikate steht auf "FALSCH". Es werden alle Treffer aus Spalte 2 der Matrix gelistet.
 
Formel2: Gesucht wird nach dem Vornamen "Toni". Optionaler Parameter für Duplikate steht auf "WAHR" und bei optionalem Parameter für Trennzeichen wurde der Schrägstrich gewählt. Es werden keine Duplikate gelistet.
 
Formel3: Gesucht wird nach "Toni". Es wurden keine der optionalen Parameter übergeben.
 
Formel4: Ein Beispiel für die Suche nach Links. Suchspalte ist 2 innerhalb der Matrix also in unserem Beispiel der Nachname. Ergebnisspalte ist 1 also der Vorname.
 
Damit die Formel genutzt werden kann, muss der unten genannte Code in ein "Allgemeines Modul". ( Siehe auch Programmierung -> Code aus Forum )
 
 
Der Code für ein allgemeines Modul:
 
Public Function SVERWEIS2(Kriterium As String, _
    Bereich As Range, _
    SuchSpalte As Integer, _
    ErgebnisSpalte As Integer, _
    Optional Unikate As Boolean = True, _
    Optional Trenner As String = ", ") As String
'***********************************************
'Autor: Ransi
'***********************************************
Dim arrTmp
Dim L As Long
Dim Mydic As Object
arrTmp = Bereich
Set Mydic = CreateObject("Scripting.Dictionary")
If Unikate = True Then
    For L = 1 To UBound(arrTmp)
        If arrTmp(L, SuchSpalte) = Kriterium Then Mydic(arrTmp(L, ErgebnisSpalte)) = 0
    Next
    SVERWEIS2 = Join(Mydic.keys, Trenner)
    Else:
    For L = 1 To UBound(arrTmp)
        If arrTmp(L, SuchSpalte) = Kriterium Then Mydic(L) = arrTmp(L, ErgebnisSpalte)
    Next
    SVERWEIS2 = Join(Mydic.items, Trenner)
End If
End Function